MS Windows-主窗口在托盘上显示菜单时无响应通知图标(使用隐藏窗口处理消息)

时间:2011-08-27 11:54:45

标签: icons tray

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

每件事情都很好,除非你点击图标外面,图标不会消失。我通过添加以下代码修复了此问题:

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

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

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

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

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

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

1 个答案:

答案 0 :(得分:1)

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