WM_POWERBROADCAST을 처리하려는 ATL 응용 프로그램이 있습니다. 나는 그 핸들러를 정의한 MSG_MAP의 CMainDlg (CAxDialogImpl)를 가지고있다.ATL 응용 프로그램의 CMainDlg에 대한 WM_POWERBROADCAST 처리기가 호출되지 않습니다.
BEGIN_MSG_MAP(CMainDlg)
...
MESSAGE_HANDLER(WM_POWERBROADCAST, OnPowerChange)
...
END_MSG_MAP()
그러나 핸들러는 호출해야하는 작업 (예 : 전원 설정 변경 또는 시스템 절전)을 호출 할 때 호출되지 않습니다.
무슨 일이 벌어지고 있는지, 그리고 어떻게 해결할 지에 대한 아이디어가 있으십니까? 어떤 이유로 CMainDlg에 전원 이벤트가 통지되지 않습니까?
아, 설정 변경에 대해 이렇게해야 할 필요가있는 것 같습니다. PBT_APMSUSPEND에만 관심이 있다면? 설명서는 WM_POWERBROADCAST를 받아야한다고 제안하는 것 같지만 그렇지 않습니다. 아십니까? – psychotik
또한이 기능은 Vista + 전용 인 것 같습니다 ... – psychotik