Главная страница
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.045 c
11-1131741066
Flea
2005-11-11 23:31
2006.08.27
еще вопрос по richedit


6-1144846173
Jolik
2006-04-12 16:49
2006.08.27
Автоматическое обновление программы через интернет...


2-1154865170
Sele
2006-08-06 15:52
2006.08.27
панель


2-1154950938
webpauk
2006-08-07 15:42
2006.08.27
TstringList.AddObject


2-1154670842
Генадий
2006-08-04 09:54
2006.08.27
Dspack