Переход в ждущий режим под WinNT

Материал из DRKB

Переход в ждущий режим под WinNT[править | править код]

{ **** UBPFD *********** by delphibase.endimus.com ****
>> Переход в ждущий режим под WinNT

Зависимости: Windows

Copyright:   @
Дата:        21 июня 2002 г.
***************************************************** }

procedure NTWait;
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
      SetSystemPowerState(true, true);
  end;
end;


Source: http://delphibase.endimus.com
ID: 01706