Текущий архив: 2003.04.03;
Скачать: 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 вся ветка
Текущий архив: 2003.04.03;
Скачать: CL | DM;
Память: 0.44 MB
Время: 0.007 c