Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.08.27;
Скачать: CL | DM;

Вниз

команда в WinAPI   Найти похожие ветки 

 
DimaDukat   (2006-05-02 23:41) [0]

Подскажите пожалуйста, как программно выключить компьютер?


 
Джо ©   (2006-05-02 23:42) [1]

ExitWindowsEx


 
Lamer@fools.ua ©   (2006-05-03 00:08) [2]

http://www.delphimaster.ru/cgi-bin/faq.pl?look=1&id=988621105&n=15


 
VirEx ©   (2006-05-03 20:56) [3]

пуск -> выполнить -> cmd -> shutdown /?

rundll32.exe powrprof.dll,SetSuspendState //переход Windows в спящее состояние
shutdown -r -c "WinConsul перезагружает Windows, для отмены - stopRestart"
shutdown -r -t 0 //быстрая перезагрузка Windows
shutdown -a //отмена перезагрузки/завершения работы Windows
shutdown -s -c "WinConsul завершает работу Windows, для отмены - stopRestart"


 
Handle   (2006-05-03 22:12) [4]

procedure ExitWinNT(AShutdown: Boolean);
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_SHUTDOWN or ewx_force,0);
 end;
end;

procedure NTWait;
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
     SetSystemPowerState(true, true);
 end;
end;

procedure NTReboot;
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 or ewx_force,0);
 end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
NTWait;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
NTReboot;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
ExitWinNT(True);
end;




Страницы: 1 вся ветка

Текущий архив: 2006.08.27;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.071 c
2-1155113001
Хам
2006-08-09 12:43
2006.08.27
Работа с ini файлами


3-1150457691
avsam
2006-06-16 15:34
2006.08.27
ODAC: Exec PL/SQL


15-1154329986
Nic
2006-07-31 11:13
2006.08.27
Архитектура приложений


15-1154515042
Kerk
2006-08-02 14:37
2006.08.27
Что такое "харизма"?


15-1154532828
MultiCreator
2006-08-02 19:33
2006.08.27
Спасение Delphi7