Created
May 26, 2023 17:40
-
-
Save puppis42/58395d39af3cabd481b77f6d859a1c24 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using System; | |
using System.Collections.Generic; | |
using System.ComponentModel; | |
using System.Data; | |
using System.Drawing; | |
using System.Linq; | |
using System.Text; | |
using System.Threading.Tasks; | |
using System.Windows.Forms; | |
using System.Management; | |
namespace Shutdown_PC | |
{ | |
public partial class Frm_Main : Form | |
{ | |
public Frm_Main() | |
{ | |
InitializeComponent(); | |
} | |
private void Frm_Main_Load(object sender, EventArgs e) | |
{ | |
Shutdown(); | |
} | |
void Shutdown() | |
{ | |
ManagementBaseObject mboShutdown = null; | |
ManagementClass mcWin32 = new ManagementClass("Win32_OperatingSystem"); | |
mcWin32.Get(); | |
// You can't shutdown without security privileges | |
mcWin32.Scope.Options.EnablePrivileges = true; | |
ManagementBaseObject mboShutdownParams = | |
mcWin32.GetMethodParameters("Win32Shutdown"); | |
// Flag 1 means we want to shut down the system. Use "2" to reboot. | |
mboShutdownParams["Flags"] = "1"; | |
mboShutdownParams["Reserved"] = "0"; | |
foreach (ManagementObject manObj in mcWin32.GetInstances()) | |
{ | |
mboShutdown = manObj.InvokeMethod("Win32Shutdown", | |
mboShutdownParams, null); | |
} | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment