2013-06-12 40 views
2

我有一个程序,它有两种不同的用户可以使用的模式。根据模式我想更改任务栏图标以反映其状态。我发现application.icon将允许我在运行时设置任何想要的图像,但有一个问题。当我安装该程序时,会为开始菜单创建一个快捷方式。该快捷方式似乎禁用了更改任务栏图标的功能。有什么方法可以忽略快捷方式图标吗?在运行时更改应用程序任务栏图标(忽略快捷方式图标)

回答

2

快捷方式与应用程序图标在任务栏上的显示方式无关,
快捷方式仅指向将图标嵌入为资源的实际可执行文件。

您的问题可能是Windows图标缓存。这是图标缓存未正确更新的常见情况。您应该重建/刷新图标缓存,然后您应该看到当前加载的应用程序图标出现在任务栏上,然后您可以使用Application.Icon.Load...在模式之间交换图标。

它也可能只是由于您的任务栏选项。如果你的任务栏设置为组合Icon + Label,那么图标不会改变。确保该选项设置为仅在任务栏已满时才合并或合并。

+0

我手动重建图标现金并重新启动我的电脑,但图标仍然拒绝以编程方式更改。我遵循这些[说明](http://www.sevenforums.com/tutorials/49819-icon-cache-rebuild.html)。我也尝试从delphi([code](http://www.swissdelphicenter.ch/torry/showcode.php?id=1054))中刷新它。我认为这个快捷方式有一些效果的原因是因为从可执行文件打开任务栏图标将会改变,但是从快捷方式不会。 –

+0

@onetwo,你的任务栏设置如何?如果您的选项设置为组合图标+标签,则更改图标不起作用。如果你的任务栏已满,这也是一样的。 – Peter

+0

啊,我的任务栏选项被设置为总是组合和隐藏标签。改变它可以解决我的问题。谢谢。 –

相关问题