I noticed that my app sends icons to the Windows tray with a size of 16x16 pixels--and my Vista PC I've got a doublewide taskbar that appears to show icons at 18x18. The resizing artifacts on my app's icon look awful. How can I ask Windows what size the icons should be?
Edit
I'm generating the icon dynamically, with a pixel font text overlay. It seems wasteful to generate a bunch of icon sizes dynamically, so it would be nice to avoid building an icon with all the "possible" sizes (not that I'm even sure what those are).
- GetSystemMetrics(
SM_CXSMICON
) returns 16--the incorrect value. - GetThemeBackgroundContentRect didn't help, either.
Shell_NotifyIcon
. That receives aNOTIFYICONDATA
which contains anHICON
. Now, anHICON
refers to a single icon, so you have to decide the size before you callShell_NotifyIcon
. The final paragraph is accurate though. – Honghonied