Jak wprowadzić komputer w stan hibernacji?

0

Jak wprowadzić komputer w stan hibernacji?

0
procedure SuspendOrHibernate( ASuspend,AForce : Boolean );
var
 iVersionInfo: TOSVersionInfo;
 iToken   : cardinal;
 iPriveleg : TTokenPrivileges;
 iaresult : cardinal;
begin
 FillChar (iPriveleg, SizeOf (iPriveleg), #0);

 iVersionInfo.dwOSVersionInfoSize := SizeOf(TOSVersionInfo);

 GetVersionEx(iVersionInfo);

 if iVersionInfo.dwPlatformId = VER_PLATFORM_WIN32_NT then begin
   Win32Check( OpenProcessToken (GetCurrentProcess,
             TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, iToken) );
   Win32Check( LookupPrivilegeValue (nil,'SeShutdownPrivilege',
            iPriveleg.Privileges[0].Luid) );

   iPriveleg.PrivilegeCount := 1;
   iPriveleg.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;

   Win32Check(AdjustTokenPrivileges(iToken,False,iPriveleg,
   Sizeof(iPriveleg), iPriveleg, iaresult));
 end;

 Win32Check( SetSystemPowerState( ASuspend, AForce ) );
end;

Użycie :

SuspendOrHibernate(false,false);  - hibernuje bez pytania

Szukaj... Mi To Zajelo moze 20 sekund... :/

1 użytkowników online, w tym zalogowanych: 0, gości: 1