![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Power OFF [D6, Win2k]
Shrek © (2002-10-07 22:31:00)Подскажите пожалуйста, как завершить роботу винды так шоб отключилось питание.
Зничит, пробывал
ExitWindowsEx(EWX_SHUTDOWN, 0);- делает рестарт.
ShellExecute(Application.Handle,- в ATX не работает. Млжет у кого есть идеи на щёт этого. Спасибо.
Pchar("Open"),Pchar("C:\Windows\Rundll32.exe"),
Pchar("krnl386.exe,exitkernel"),
Pchar("C:\Windows"),SW_SHOWNORMAL);
kerrik (2002-10-07 23:36:00) [1]Этот код должен работать и в Win2000
var
What: Cardinal;
//-----------------------------------------
What := EWX_FORCE+EWX_SHUTDOWN+EWX_POWEROFF;
if ExitWindowsEx(What,0)=false then
begin
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;