【问题标题】:MS Windows- Main window no response when show menu on a tray notify icon(use a hidden window to process message)MS Windows-在托盘通知图标上显示菜单时主窗口无响应(使用隐藏窗口处理消息)
【发布时间】:2011-11-05 01:48:05
【问题描述】:

我实现了一个类,这个类将显示一个托盘图标。要处理来自图标的消息,我必须创建一个隐藏窗口。

一切正常,除非您单击图标外部,否则图标不会消失。我已通过在下面添加代码来解决此问题:

SetForegroundWindow(message-only-hiden-window) // 添加 TrackPopupMenu()

解决方案:要纠正第一个行为,您需要在调用 TrackPopupMenu 或 TrackPopupMenuEx 之前将当前窗口设置为前台窗口。

现在我得到了预期的结果:如果您在托盘图标之外单击,菜单可能会消失。

现在的问题是,在调用 SetForegroundWindow(message-only-hiden-window) 后,主应用程序窗口将没有响应(无法调整大小移动)我可以看到主窗口实际上在 spy++ 中获取了这些消息。 如果没有调用 SetForegroundWindow(message-only-hiden-window),请记住这一点。美好的。除了菜单不会消失。

谁有类似情况的经验? 如何实现一个完全没有前景窗口的托盘图标?

我们将不胜感激任何形式的帮助。如果你想要源代码,我可以给你发邮件。

【问题讨论】:

    标签: icons tray


    【解决方案1】:

    已解决。我忘记在仅消息窗口中返回 DefWindowProc。棘手

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-02-20
      • 2018-02-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多