Главная страница
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.026 c
15-1188377480
Denis_
2007-08-29 12:51
2007.09.30
Браузеры


10-1137594722
Scorpio
2006-01-18 17:32
2007.09.30
Перемещение курсора в Word


3-1180375837
Zesik
2007-05-28 22:10
2007.09.30
Create table


2-1188904492
Sonia
2007-09-04 15:14
2007.09.30
dxDBGrid + ImageList


1-1184521447
Tack
2007-07-15 21:44
2007.09.30
Как получить высоту строки TRichEdit?