在Windows上更改任务栏按钮颜色

时间:2013-02-02 15:42:48

标签: c# c++ windows delphi winapi

同一应用程序的多个实例同时运行,并且由于每个实例都有多个窗口,因此用户不容易在它们之间导航。我通过将不同应用程序实例的标题栏颜色设置为不同的值来帮助用户。例如,首先启动的app实例的所有窗口都将具有红色标题栏,第二个实例的所有窗口将具有绿色标题,等等。

将应用实例的任务栏按钮颜色设置为我用于标题栏的颜色也很有用。这可能吗?如果没有,那么我会对具有类似差异效果的解决方案感到满意,例如在任务栏按钮上设置文本的颜色,向其添加叠加图标等等。

该解决方案应适用于Windows XP及更高版本的Windows。语言可以是C / C ++,C#或Delphi。非常感谢你提前!

1 个答案:

答案 0 :(得分:7)

你不能希望实现不同颜色的任务栏按钮。

您可以安装自己的shell并完全控制任务栏,但您不能指望您的客户这样做。

您不能期望在Windows任务栏的顶部绘画。任务栏是动画的。你怎么跟上那个?你怎么知道按钮在哪里?我不相信有一个公共API可以告诉你。我想你必须把这个想法排除在外。

有一个API允许您更改任务栏按钮的颜色。这是Windows 7中添加的任务栏进度API。您可以使用它来使任务栏按钮变为黄色,绿色或红色。我个人不会建议,因为用户会认为你正在显示进展。

可用的主要选项是更改窗口标题,以及任务栏按钮中显示的文本。或者更改图标。