2022年10月16日日曜日

[C#,サンプルコード]Windowsをシャットダウンするのサンプルコード

参考サイト https://johobase.com/wmi-os-shutdown-csharp/ https://www.fenet.jp/dotnet/column/language/4629/
private void ShutdownWindows()
{
    try
    {
        ManagementClass managementClass = new ManagementClass("Win32_OperatingSystem");
        managementClass.Get();
        // 権限を有効化する
        managementClass.Scope.Options.EnablePrivileges = true;

        ManagementObjectCollection managementObjectCollection = managementClass.GetInstances();
        foreach (ManagementObject managementObject in managementObjectCollection)
        {
            // InvokeMethodでWMIのメソッドを実行する
            managementObject.InvokeMethod(
                "Win32Shutdown",
                // 強制シャットダウン指定
                new object[] { 5, 0 }
                );
            managementObject.Dispose();
        }
        managementObjectCollection.Dispose();
        managementClass.Dispose();
    }
    catch (Exception ex)
    {
        //なんかエラーログを出力する
    }
}

0 件のコメント: