![]() |
![]() ![]() ![]() ![]() |
|
Перевод системы в режим ожидания или спячкиDelphi , ОС и Железо , КомпьютерПеревод системы в режим ожидания или спячки
Оформил: DeeCo
{
The SetSuspendState function suspends the system by shutting power down.
Depending on the Hibernate parameter,
the system either enters a suspend (sleep) state or hibernation.
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.
Windows NT/2000/XP: Included in Windows 2000 and later.
Windows 95/98/Me: Included in Windows 98 and later.
}
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;
Код на Delphi, устанавливающий систему в режим приостановки или спячки с помощью функции SetSuspendState Описание кода
Функция SetSuspendState принимает три параметра:
1. Функция реализована в DLL ( В примере кода при нажатии кнопки вызывается функция SetSuspendState с параметрами Ключевые точки
Альтернативное решение Вместо использования библиотеки POWRPROF.DLL можно использовать функции Windows API SetSuspendState и PowerSetActiveScheme для достижения аналогичных результатов. Например: Код использует функцию PowerSetActiveScheme для перехода системы в режим приостановки или спячки. Обратите внимание, что это подход требует библиотеки Windows API ( Перевод системы в режим ожидания или спячки, используя функцию SetSuspendState, которая может быть использована для перевода системы в состояние ожидания (сleep) или спячку (hibernation), в зависимости от параметра Hibernate. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 | ||||