1
我的目标是为我的应用程序的所有窗口设置一个图标。多个窗口,单个托盘图标
经过一番阅读,我的理解是通过Shell_NotifyIcon()
实现创建托盘图标。此功能获得NOTIFYICONDATA
结构,其中包含hWnd
字段。系统使用此HWND
来通知相应的托盘图标事件窗口。这些事件由WindowProc
回调处理,该回调在SetWindowLongPtr()
窗口上设置。
因此我的问题:
- 一个图标怎么能通知我的应用程序的所有窗口的说,鼠标左键点击?
- 我可以
Shell_NotifyIcon()
多次与不同NOTIFYICONDATA
结构,每一个不同hWnd
,但具有相同的图标? - 如果已注册创建托盘图标的原始窗口被销毁,该怎么办?
会创建一个隐藏的代理窗口是一个合适的解决方案?
一些背景:我的应用程序使用C调用WinAPI(使用js-ctypes),并且理想情况下适用于所有Windows XP上的Windows版本。
只是通知的隐藏窗口是要走的路,以下是我很久以前写的一些代码,它可以帮助您:http://www.codeproject.com/Articles/341/A-Task-托盘的小程序,框架 –