У меня есть приложение ATL, где я хочу обрабатывать WM_POWERBROADCAST. У меня есть CMainDlg (CAxDialogImpl), в MSG_MAP которого я определил обработчик.Обработчик WM_POWERBROADCAST для CMainDlg в приложении ATL не вызван
BEGIN_MSG_MAP(CMainDlg)
...
MESSAGE_HANDLER(WM_POWERBROADCAST, OnPowerChange)
...
END_MSG_MAP()
Однако обработчик не вызывается, когда я делаю то, что должно вызвать его для настройки мощности изменения экземпляра или поставить машину спать.
Любые идеи о том, что может происходить, и как это исправить? Почему CMainDlg не получает уведомления о силовых событиях по какой-то причине?
А, кажется, мне нужно сделать это для изменения настроек. Что делать, если меня интересует только PBT_APMSUSPEND? Документация, похоже, предполагает, что я должен получить WM_POWERBROADCAST, но я этого не делаю. Вы знаете? – psychotik
Кроме того, эта функция кажется Vista + только ... – psychotik