本文整理自网络,侵删。
procedure Restart;var TokenHandle: THandle; TokenPrivileges: TTokenPrivileges;begin if OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, TokenHandle) then if LookupPrivilegeValue(nil, 'SeShutdownPrivilege', TokenPrivileges.Privileges[0].Luid) then begin TokenPrivileges.PrivilegeCount := 1; TokenPrivileges.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED; AdjustTokenPrivileges(TokenHandle, False, TokenPrivileges, SizeOf(TokenPrivileges), TTokenPrivileges(nil^), DWORD(nil^)); end; ExitWindowsEx(EWX_REBOOT, 0);end;
相关阅读 >>
Delphi 使用 {$include} 或 {$i} 指令管理和调用自定义函数
Delphi str1.compare 比较两个字符是否相同
更多相关阅读请进入《Delphi》频道 >>