C # Завершение работы ПК без прав администратора - PullRequest
0 голосов
/ 01 июня 2019

Здравствуйте, я хочу выключить компьютер с помощью c #, но при попытке использования приведенных ниже кодов требуются права администратора.

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

Как выключить компьютер без прав администратора?

1 Ответ

0 голосов
/ 01 июня 2019

попробуйте

 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);
    }
...