Jak wprowadzić komputer w stan hibernacji?
0
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... :/
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.