C#在没有管理员特权的情况下关闭PC

时间:2019-06-01 13:27:14

标签: c# admin shutdown pc

你好,我想用c#关闭pc,但是当我尝试下面的代码时,它需要管理员权限。

var psi = new ProcessStartInfo("shutdown","/s /t 0");
psi.CreateNoWindow = true;
psi.UseShellExecute = false;
Process.Start(psi);

如何在没有管理员权限的情况下关闭计算机?

1 个答案:

答案 0 :(得分:0)

尝试

 ManagementBaseObject mboShutdown = null;
    ManagementClass mcWin32 = new ManagementClass("Win32_OperatingSystem");
    mcWin32.Get();


    mcWin32.Scope.Options.EnablePrivileges = true;
    ManagementBaseObject mboShutdownParams =
             mcWin32.GetMethodParameters("Win32Shutdown");


    mboShutdownParams["Flags"] = "5";
    mboShutdownParams["Reserved"] = "0";
    foreach (ManagementObject manObj in mcWin32.GetInstances())
    {
        mboShutdown = manObj.InvokeMethod("Win32Shutdown", 
                                       mboShutdownParams, null);
    }