Вниз
Скачать: CL | DM;

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

 
xfrost   (2003-02-08 15:30) [0]

Подскажите пожалуйста как выключить комп под win2000 без сообщения "Теперь питание компа можно отключить"!!!!!!!!!!


 
Михайлов Антон   (2003-02-08 17:52) [1]

Procedure Shutdown;
var
hToken: THandle;
tkp: TTokenPrivileges;
ReturnLength: Cardinal;
begin
If Win32Platform = VER_PLATFORM_WIN32_WINDOWS Then
Begin
if not ExitWindowsEx(EWX_Force or
EWX_PowerOff or
EWX_ShutDown, 0) then
MessageBox(0, "An application refused to terminate", "Win32", MB_OK);
end;

If Win32Platform = VER_PLATFORM_WIN32_NT Then
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(EWX_SHUTDOWN or EWX_POWEROFF, 0);
end;

end;

procedure TForm1.button1Click(Sender: TObject);
begin
Shutdown;
end;


Код не тестировался, но думаю работать будет



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.013 c
6-6643
Nicky
2003-02-06 20:14
2003.04.03
аутентификация на локальной проксе


14-6737
Sergei
2003-03-15 21:32
2003.04.03
Вопрос по экпортируеммым функц в DLL


1-6477
NetKnight
2003-03-24 09:45
2003.04.03
Предотвращение повторного запуска программы


1-6423
valkamuz
2003-03-20 15:59
2003.04.03
Delphi открытие Excel эксклюзивно


4-6840
Sinplecy
2003-02-04 14:55
2003.04.03
Не могу добраться до процесса :(




   Наверх