Вниз
Скачать: 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-1180356563
Чип
2007-05-28 16:49
2007.09.30
фильтрация


10-1137315632
_Ruslan_
2006-01-15 12:00
2007.09.30
Почему при создании OLE в DLL вызывается ошибка?


3-1179810817
DeadMeat
2007-05-22 09:13
2007.09.30
Invalid Typecast


15-1188873231
Slider007
2007-09-04 06:33
2007.09.30
С днем рождения ! 4 сентября 2007 вторник


10-1137574629
Bratskiy
2006-01-18 11:57
2007.09.30
Поиск в Word




   Наверх