Перевод системы в режим ожидания или спячки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 прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |