代码之家  ›  专栏  ›  技术社区  ›  psychotik

未调用ATL应用程序中CMainDlg的WM\u POWERBROADCAST处理程序

  •  0
  • psychotik  · 技术社区  · 16 年前

    我有一个ATL应用程序,我想处理 WM_POWERBROADCAST . 我有一个CMainDlg(CAxDialogImpl),我在它的MSG\u映射中定义了处理程序。

    BEGIN_MSG_MAP(CMainDlg)
        ...
        MESSAGE_HANDLER(WM_POWERBROADCAST, OnPowerChange)
        ...
    END_MSG_MAP()
    

    但是,当我做一些应该调用它的事情时,例如更改电源设置或使机器进入睡眠状态时,不会调用该处理程序。

    3 回复  |  直到 16 年前
        1
  •  0
  •   Tim Cooper    15 年前

    我怀疑您的对话框不是顶级窗口(WS\u POPUP样式)。

    刚刚用一个WTL AppWizard非模态对话框应用程序测试了WM\ U POWERBROADCAST在AC插头/插头上接收(没有任何注册)。

        2
  •  0
  •   gwell    16 年前

    是吗 register 接收电源事件?

        3
  •  0
  •   Roman Ryltsov    15 年前