Содержание материала

 

Функция SetSuspendState приостанавливает работу системы за счет отключения питания.

В зависимости от параметра Hibernate,

система либо переходит в состояние приостановки (сна), либо в спящий режим.

Code:

{

 Syntax:

}

 

function SetSuspendState(

  Hibernate: Boolean,

  ForceCritical: Boolean,

  DisableWakeEvent: Boolean);

 

 

{  Parameters:

 

  Hibernate: If this parameter is TRUE, the system hibernates.

             If the parameter is FALSE, the system is suspended.

  ForceCritical: If this parameter is TRUE, the system suspends operation immediately;

                 if it is FALSE, the system broadcasts a PBT_APMQUERYSUSPEND event to

                 each application to request permission to suspend operation.

  DisableWakeEvent: If this parameter is TRUE, the system disables all wake events.

                    If the parameter is FALSE, any system wake events remain enabled.

 }

 

var

_SetSuspendState: function (Hibernate, ForceCritical, DisableWakeEvent: BOOL): BOOL

stdcall = nil;

 

function LinkAPI(const module, functionname: string): Pointer; forward;

 

function SetSuspendState(Hibernate, ForceCritical,

DisableWakeEvent: Boolean): Boolean;

begin

if not Assigned(_SetSuspendState) then

   @_SetSuspendState := LinkAPI('POWRPROF.dll', 'SetSuspendState');

if Assigned(_SetSuspendState) then

   Result := _SetSuspendState(Hibernate, ForceCritical,

     DisableWakeEvent)

else

   Result := False;

end;

 

function LinkAPI(const module, functionname: string): Pointer;

var

hLib: HMODULE;

begin

hLib := GetModulehandle(PChar(module));

if hLib = 0 then

   hLib := LoadLibrary(PChar(module));

if hLib <> 0 then

   Result := getProcAddress(hLib, PChar(functionname))

else

   Result := nil;

end;

 

// Example Call:

// Beispielaufruf:

 

procedure TForm1.Button1Click(Sender: TObject);

begin

SetSuspendState(True, False, False);

end;

 


 

Code:

procedure TForm1.Button1Click(Sender: TObject);

begin

  SendMessage(Handle, WM_SYSCOMMAND, SC_SCREENSAVE, 1);

end

 

Добавить комментарий

Не использовать не нормативную лексику.

Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.

ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!


Защитный код
Обновить