Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.09.30;
Скачать: 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 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.021 c
15-1188675443
vpbar
2007-09-01 23:37
2007.09.30
Организм не принимает С++


15-1188836278
ArtemESC
2007-09-03 20:17
2007.09.30
Опрос


15-1189014249
Layner
2007-09-05 21:44
2007.09.30
Веб статистика от некоторых профи вебмастеров


1-1184934235
Mitrofan
2007-07-20 16:23
2007.09.30
Отладка нитей в Delphi


15-1188541103
Шмелъ
2007-08-31 10:18
2007.09.30
Mail Observer Application