如何向Windows询问系统托盘图标的大小?

我注意到我的应用程序将图标发送到尺寸为16×16像素的Windows托盘 – 而我的Vista PC我有一个双倍宽的任务栏,似乎以18×18显示图标.我的应用程序图标上的调整大小工件看起来很糟糕.如何询问Windows图标应该是多大?

编辑:

我正在动态生成图标,并使用像素字体文本覆盖.动态生成一堆图标大小似乎很浪费,所以避免构建一个具有所有“可能”大小的图标会很好(不是我甚至不确定那些是什么).

GetSystemMetrics(SM_CXSMICON)返回16 – 不正确的值.

GetThemeBackgroundContentRect也没有帮助.

Mark的核心答案是正确的:以多种格式创建图标,让Windows选择正确的图标.不要忘记为HighDPI场景执行32×32和64×64图标.

但是SM_CXICON / SM_CYICON不一定会返回将在任务栏中使用的大小.任务栏为其大小选择正确的图标大小(这在Window 7中更为重要).

只需提供适当大小的图标,你应该没问题.

相关文章

Windows2012R2备用域控搭建 前置操作 域控主域控的主dns:自...
主域控角色迁移和夺取(转载) 转载自:http://yupeizhi.blo...
Windows2012R2 NTP时间同步 Windows2012R2里没有了internet时...
Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...