Как перезагрузить комп из программы?
Как перезагрузить комп из программы?
Как перезагрузить комп из программы? Вот код перезагрузки. Он прост и надёжен , чётко работает. var hToken: THandle; tkp: TTokenPrivileges; ReturnLength: Cardinal; begin if OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, hToken) then begin LookupPrivilegeValue(nil, 'SeShutdownPrivilege', tkp.Privileges[0].Luid); tkp.PrivilegeCount := 1; tkp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED; if AdjustTokenPrivileges(hToken, False, tkp, 0, nil, ReturnLength) then ExitWindowsEX(EWX_REBOOT, 0); end; end; Есле захочешь выключить компьютер, то измени значение ExitWindowsEX(EWX_REBOOT, 0); на ExitWindowsEX(EWX_POWEROFF, 0); А чтобы поставить компьютер в ждущий режим, используй команду SetSystemPowerState(True, True);