1
我想使用Shell_NotifyIcon()将图标添加到系统托盘,但我不想在我的应用程序中有一个可见的窗口。这就是为什么我将句柄传递给Shell_NotifyIcon()的仅消息窗口。该窗口已创建这样的:Shell_NotifyIcon()和一个不可见的窗口
hTrayWnd = CreateWindowEx(0, CLASSNAME, "tray_dummy", 0, 0, 0, 0, 0, HWND_MESSAGE, NULL, HINSTANCE, NULL);
CLASSNAME点,我已经注册的使用RegisterClassEx()和HINSTANCE是我的实例的句柄在我的类的名称。
现在的问题是:添加了托盘图标,但我的类的WindowProc()永远不会被调用。如果我使用普通的顶级窗口,一切正常。
有没有办法创建没有顶级窗口的托盘图标?我看过应用程序有一个托盘图标没有顶级窗口,所以它必须以某种方式可能。但为什么它不适用于HWND_MESSAGE窗口?
谢谢!
如果最终需要,您可以不将'WS_VISIBLE'传递到普通窗口的样式标志。 – chris
所以没有办法为它使用HWND_MESSAGE窗口?它必须是一个真正的窗口,没有WS_VISIBLE标志? – Andreas
我不确定一条消息是否可用,但如果不是这样,这是一个解决方案。我说话时对我来说工作得很好(不同之处在于我的未来可能会显示)。 – chris