Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.23;
Скачать: CL | DM;

Вниз

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

 
pag77 ©   (2002-11-07 19:51) [0]

я тут в форуме нашел кое-что, перезагружается он хорошо, а вот выключается не всегда (или зависает, или идет на перезагрузку, причем первое чаще). Помогите кто-чем может!

// перезагруз и выключение
procedure TForm1.Button1Click(Sender: TObject);
begin
ExitWinNT(false);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
ExitWinNT(true);
end;

// ********* выключить/перезагрузить
procedure Tform1.ExitWinNT(AShutdown: Boolean);
var
hToken: THandle;
tkp: TTokenPrivileges;
ReturnLength, What: Cardinal;
begin
if AShutdown then
What := EWX_SHUTDOWN or EWX_POWEROFF
else
What := EWX_REBOOT;
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(What, 0)
end
end;



 
pag77 ©   (2002-11-08 20:06) [1]

ну хоть кто-нибудь.........


 
k-sergey   (2002-11-11 07:40) [2]

Дома есть примерчик...напиши на мыло, я тебе в обратку отправлю...


 
Song ©   (2002-11-11 09:07) [3]

http://pascal.sources.ru/cgi-bin/forum/YaBB.cgi?board=delphi;action=display;num=1036752968


 
daan_m ©   (2002-11-11 11:11) [4]

> pag77
я испытал твой вариант. У меня он работал!



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

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

Наверх




Память: 0.47 MB
Время: 0.012 c
1-74631
Svin
2002-12-12 02:02
2002.12.23
Мате Матика


3-74557
ton2
2002-12-04 12:00
2002.12.23
Запись Null-значения в поле boolean


1-74821
BlackTiger
2002-12-10 20:41
2002.12.23
Как получить ВСЕ Caption ы контролов на форме?


1-74668
sammy
2002-12-13 07:08
2002.12.23
SetWindowsHookEx


14-74971
kronprince
2002-12-03 10:26
2002.12.23
Раньше мне эта затея DeMoN-777 казалась глупой :(