Mega Code Archive

 
Categories / Delphi / System
 

How to determine whether the computer supports hibernation, the sleep states

Title: How to determine whether the computer supports hibernation, the sleep states function HibernateAllowed: Boolean; type TIsPwrHibernateAllowed = function: Boolean; stdcall; var hPowrprof: HMODULE; IsPwrHibernateAllowed: TIsPwrHibernateAllowed; begin Result := False; if IsNT4Or95 then Exit; hPowrprof := LoadLibrary('powrprof.dll'); if hPowrprof 0 then begin try @IsPwrHibernateAllowed := GetProcAddress(hPowrprof, 'IsPwrHibernateAllowed'); if @IsPwrHibernateAllowed nil then begin Result := IsPwrHibernateAllowed; end; finally FreeLibrary(hPowrprof); end; end; end; Check if suspend is allowed function SuspendAllowed: Boolean; type TIsPwrSuspendAllowed = function: Boolean; stdcall; var hPowrprof: HMODULE; IsPwrSuspendAllowed: TIsPwrSuspendAllowed; begin Result := False; hPowrprof := LoadLibrary('powrprof.dll'); if hPowrprof 0 then begin try @IsPwrSuspendAllowed := GetProcAddress(hPowrprof, 'IsPwrSuspendAllowed'); if @IsPwrSuspendAllowed nil then begin Result := IsPwrSuspendAllowed; end; finally FreeLibrary(hPowrprof); end; end; end;