找出Windows系统托盘的背景颜色,为我的应用程序选择托盘图标

时间:2011-10-30 21:11:22

标签: windows colors icons system-tray trayicon

我正在编写一个Windows应用程序,在Windows系统托盘上显示其托盘图标(系统时钟旁边)。问题是我的图标在某些背景上看起来很棒,而在其他背景上看起来很糟糕。人们可以通过在图标周围创建阴影或轮廓来解决此问题,但托盘图标只有16x16像素,这使得前者很难实现。

所以我很好奇,有没有办法找出我的图标显示在哪个系统托盘背景上,例如RGBA平均值? (我知道它现在不是纯色,因此是“意思”这个词。)如果是这样,我确定有一个算法来确定它是否是明亮的(灰色,银色)与深色背景(蓝色或黑色) )。这将让我加载托盘图标的深色或亮色。

1 个答案:

答案 0 :(得分:1)

由于您仅提供图标,因此您无法选择要显示图标的区域。关闭Aero后,颜色应为GetSysColorCOLOR_BTNFACE),否则事情会更复杂,并且涉及透明度,因此appbar下方的窗口实际上会影响系统托盘图标周围的背景颜色。