Поделиться через


сообщение 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

Значение Значение
WM_POWERBROADCAST
536 (0x218)
Идентификатор сообщения.

wParam

Событие управления питанием. Этот параметр может быть одним из следующих идентификаторов событий.

Мероприятие Значение
PBT_APMPOWERSTATUSCHANGE
10 (0xA)
Состояние питания изменилось.
PBT_APMRESUMEAUTOMATIC
18 (0x12)
Операция возобновляется автоматически из состояния низкой мощности. Это сообщение отправляется каждый раз, когда система возобновляется.
PBT_APMRESUMESUSPEND
7 (0x7)
Операция возобновляется из состояния низкой мощности. Это сообщение отправляется после PBT_APMRESUMEAUTOMATIC , если возобновление активируется входными данными пользователя, например нажатием клавиши.
PBT_APMSUSPEND
4 (0x4)
Система приостанавливает операцию.
PBT_POWERSETTINGCHANGE
32787 (0x8013)
Получено событие изменения параметров питания.

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 [только классические приложения]
Верхний колонтитул
WinUser.h (включая Windows.h)

См. также