我注意到我的應用程序向Windows托盤發送了大小爲16x16像素的圖標 - 而我的Vista PC中有一個雙倍寬度的任務欄,它顯示爲18x18的圖標。我的應用程序圖標上的調整大小的工件看起來很糟糕。我怎樣才能問Windows圖標應該是多大?如何向Windows詢問系統托盤圖標的大小?
編輯:
我生成的圖標動態,具有像素字體文本覆蓋。如果動態地生成一堆圖標大小似乎很浪費,所以最好避免使用所有「可能的」大小構建圖標(而不是我甚至確定它們是什麼)。
GetSystemMetrics(SM_CXSMICON)返回16 - 錯誤的值。
GetThemeBackgroundContentRect也沒有幫助。
這個答案的前半部分是錯誤的。通知圖標的API是`Shell_NotifyIcon`。它收到一個包含'HICON'的'NOTIFYICONDATA`。現在,`HICON`指的是一個單一的圖標,所以你必須在調用`Shell_NotifyIcon`之前決定大小。最後一段是準確的。 – 2012-12-03 19:24:24