Вниз
Скачать: CL | DM;

Выключить компьютер   Найти похожие ветки 

 
AIK ©   (2007-09-02 23:29) [0]

Есть такая функция ExitwindowsEx с помошью которой можна выключить компьютер но на новых виндах XP она не помогает и для себя я использовал другой способ:
Procedure Power;
var f:text;
Begin
AssignFile(f,"power.bat");
rewrite(f);
Write(f,"shutdown -s");
CloseFIle(f);
ShellExecute(1, nil, "power.bat", nil, nil, sw_restore);
Sleep(1000);
DeleteFile("power.bat");
end;

Ну так вот если кто знает более правильный способ может подскажет?


 
KJ13 ©   (2007-09-02 23:43) [1]

Вот один из вариантов выключения компьютера:

procedure TForm1.BitBtn1Click(Sender: TObject);
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;
end;


P.S. Использовать только в благих целях. :)


 
AIK ©   (2007-09-02 23:54) [2]

Спасибо!!!

> P.S. Использовать только в благих целях. :)

Можешь не волноваться.



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

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



Память: 0.45 MB
Время: 0.014 c
3-1179995912
MZ
2007-05-24 12:38
2007.09.30
Скрыть записи в DBGrid е


2-1188923583
ShyricK
2007-09-04 20:33
2007.09.30
Звук на спикер


15-1188885671
Админ
2007-09-04 10:01
2007.09.30
Ищу софт для FireBird


15-1188795881
Palladin
2007-09-03 09:04
2007.09.30
Монстроидальный Unit


2-1189077582
Yogan
2007-09-06 15:19
2007.09.30
SMTP, POP3 сервер




   Наверх