Программа для выключения компьютера в заданное время. Если
запустить с параметром, указав время, то программа запустится
скрытно и выключит компьютер в указанное время. Проверенно на
Windows XP.
Для выключения используется процедура:
Procedure ShutdownComputer;
var
ph:THandle;
tp,prevst:TTokenPrivileges;
rl:DWORD;
begin
OpenProcessToken(GetCurrentProcess,TOKEN_ADJUST_PRIVILEGES or
TOKEN_QUERY,ph);
LookupPrivilegeValue(Nil,'SeShutdownPrivilege',tp.Privileges[0].Luid);
tp.PrivilegeCount:=1;
tp.Privileges[0].Attributes:=2;
AdjustTokenPrivileges(ph,FALSE,tp,SizeOf(prevst),prevst,rl);
ExitWindowsEx(EWX_SHUTDOWN or EWX_POWEROFF,0);
end;
Источник: www.delphikingdom.ru
|