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


событие PBT_APMPOWERSTATUSCHANGE

Уведомляет приложения об изменении состояния питания компьютера, например переключение с заряда батареи на A/C. Система также передает это событие, когда оставшаяся мощность батареи скользит ниже порогового значения, указанного пользователем, или если мощность батареи изменяется на указанный процент.

Окно получает это событие через сообщение WM_POWERBROADCAST. Параметры wParam и lParam задаются следующим образом.

LRESULT 
CALLBACK 
WindowProc( HWND hwnd,      // handle to window
            UINT uMsg,      // WM_POWERBROADCAST
            WPARAM wParam,  // PBT_APMPOWERSTATUSCHANGE
            LPARAM lParam); // zero

Параметры

hwnd

Дескриптор окна.

uMsg

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

wParam

Значение Значение
PBT_APMPOWERSTATUSCHANGE
10 (0xA)
Идентификатор события.

lParam

Защищены; должно быть равно нулю.

Возвращаемое значение

Нет возвращаемого значения.

Замечания

Приложение должно обработать это событие, вызвав функцию GetSystemPowerStatus , чтобы получить текущее состояние питания компьютера. В частности, приложение должно проверка элементы ACLineStatus, BatteryFlag, BatteryLifeTime и BatteryLifePercent структуры SYSTEM_POWER_STATUS для любых изменений. Это событие может произойти, когда время жизни батареи снижается до менее 5 минут, или когда процент жизни батареи снижается ниже 10 процентов, или если время жизни батареи изменяется на 3 процента.

Requirements

Требование Значение
Минимальная версия клиента
Windows XP [только классические приложения]
Минимальная версия сервера
Windows Server 2003 [только классические приложения]
Верхний колонтитул
WinUser.h (включая Windows.h)

См. также