сообщение WM_POWERBROADCAST
Уведомляет приложения о том, что произошло событие управления питанием.
Окно получает это сообщение через функцию WindowProc .
LRESULT CALLBACK WindowProc(
HWND hwnd, // handle to window
UINT uMsg, // WM_POWERBROADCAST
WPARAM wParam, // power-management event
LPARAM lParam // function-specific data
);
Параметры
hwnd
Дескриптор окна.
uMsg
Значение | Значение |
---|---|
|
Идентификатор сообщения. |
wParam
Событие управления питанием. Этот параметр может быть одним из следующих идентификаторов событий.
Мероприятие | Значение |
---|---|
|
Состояние питания изменилось. |
|
Операция возобновляется автоматически из состояния низкой мощности. Это сообщение отправляется каждый раз, когда система возобновляется. |
|
Операция возобновляется из состояния низкой мощности. Это сообщение отправляется после PBT_APMRESUMEAUTOMATIC , если возобновление активируется входными данными пользователя, например нажатием клавиши. |
|
Система приостанавливает операцию. |
|
Получено событие изменения параметров питания. |
lParam
Данные, относящиеся к событиям. Для большинства событий этот параметр зарезервирован и не используется.
Если параметр wParam PBT_POWERSETTINGCHANGE, параметр lParam является указателем на структуру POWERBROADCAST_SETTING.
Возвращаемое значение
Приложение должно возвращать значение TRUE , если оно обрабатывает это сообщение.
Замечания
Система всегда отправляет сообщение PBT_APMRESUMEAUTOMATIC всякий раз, когда система возобновляется. Если система возобновляется в ответ на ввод пользователя, например нажатие клавиши, система также отправляет PBT_APMRESUMESUSPEND сообщение после отправки PBT_APMRESUMEAUTOMATIC.
WM_POWERBROADCAST сообщения не различаются между различными состояниями низкой мощности. Приложение может определить только то, что система вводит или возобновляется из состояния низкой мощности; Он не может определить конкретное состояние питания. Система записывает сведения о переходе состояния питания в журнале событий системы Windows.
Чтобы предотвратить переход системы в состояние низкой мощности в Windows Vista, приложение должно вызвать SetThreadExecutionState , чтобы сообщить системе, что она используется.
Следующие сообщения не поддерживаются ни в одной из операционных систем, указанных в разделе "Требования".
- PBT_APMQUERYSTANDBY
- PBT_APMQUERYSTANDBYFAILED
- PBT_APMSTANDBY
- PBT_APMRESUMESTANDBY
Requirements
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows XP [только классические приложения] |
Минимальная версия сервера |
Windows Server 2003 [только классические приложения] |
Верхний колонтитул |
|