在运行时更改应用程序任务栏图标(忽略快捷方式图标)

时间:2013-06-12 14:55:31

标签: delphi delphi-2010

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

1 个答案:

答案 0 :(得分:2)

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

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

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