Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.024 c
3-1150872268
Jakudza
2006-06-21 10:44
2006.08.27
Как в QuickReport сделать CrossTab отчет


15-1154427261
lurce
2006-08-01 14:14
2006.08.27
Советский Энциклопедический Словарь в эл. виде


15-1154517741
KygECHuK
2006-08-02 15:22
2006.08.27
dcc32


2-1154810751
RGB
2006-08-06 00:45
2006.08.27
Справочник


3-1150796690
N
2006-06-20 13:44
2006.08.27
Corrupt table index header




   Наверх