Date: 02.03.2017 15:46:42
Может через WMI попробовать
using System.Management; void Shutdown() { ManagementBaseObject mboShutdown = null; ManagementClass mcWin32 = new ManagementClass("Win32_OperatingSystem"); mcWin32.Get(); // Set security privileges mcWin32.Scope.Options.EnablePrivileges = true; ManagementBaseObject mboShutdownParams = mcWin32.GetMethodParameters("Win32Shutdown"); mboShutdownParams["Flags"] = "12 ";//Forced power-off mboShutdownParams["Reserved"] = "0"; foreach (ManagementObject manObj in mcWin32.GetInstances()) { mboShutdown = manObj.InvokeMethod("Win32Shutdown", mboShutdownParams, null); } }
Добавлено:
М-да, не посмотрел, что раздел - "низкоуровневое программирование", значит вы ждете на с++. В общем, идея в том чтобы вызвать метод Win32Shutdown класса Win32_OperatingSystem с флагом 12 (Forced Power-Off). Не знаю, как это делается в с++.
Автор: VadimTagil