Показать сообщение отдельно
  #2  
Старый 07.01.2010, 11:22
Аватар для AND_REY
AND_REY AND_REY вне форума
Активный
 
Регистрация: 31.03.2009
Адрес: Украина, г.Днепропетровск
Сообщения: 324
Версия Delphi: Delphi7
Репутация: 3877
По умолчанию

Работает под ХР на других не проверял.

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
 hToken: THandle;
 tkp: TTokenPrivileges;
 ReturnLength: Cardinal;
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(EWX_SHUTDOWN or ewx_force,0);
 end;
end;
Ответить с цитированием