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-托盤的小程序,框架 –