【问题标题】:My program prevents Windows from shutting down!我的程序阻止 Windows 关闭!
【发布时间】:2010-12-28 15:58:00
【问题描述】:

当用户单击“关机”时,我的 wxwidgets 程序不允许计算机关机。我在正常退出程序时遇到了问题,所以我一直在直接调用 exit(),而不是像 wxwidgets 所说的那样删除顶部窗口。退出解决方法一直有效,但当 wxwidgets 收到关闭窗口信号 (?) 时,它似乎无法退出。我可以以某种方式捕获它并调用 exit 以使程序不会阻止窗口关闭吗?

【问题讨论】:

    标签: c windows winapi wxwidgets


    【解决方案1】:

    Windows 将WM_SHUTDOWN 消息发送到所有应用程序。此事件映射到 wxWidgets 应用程序中的EVT_END_SESSION。确保您妥善处理此事件。

    请参阅wxCloseEvent Class Reference

    如果出现问题,请尝试处理与WM_QUERY_END_SESSION 相关的EVT_QUERY_END_SESSION。此消息在WM_SHUTDOWN 之前发送,以使应用程序可以取消关闭。

    【讨论】:

    • 我的 MainApp 对象中有 EVT_END_SESSION(HandleEndSessionEvent),它是从 wxApp 派生的。无效 MainApp::HandleEndSessionEvent(wxCloseEvent& 事件)。它永远不会被调用。这看起来对吗?
    【解决方案2】:

    当 Windows 关闭时,它会向所有有窗口的应用程序发送 WM_SHUTDOWN 消息

    你能抓住那个消息吗?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多