2

我有一个带有 16x16 图标的 Delphi 6 应用程序。最近我制作了它的 64x64 版本并重新编译了应用程序。

当我运行应用程序时,这个高分辨率图标会显示在 Windows 7 Superbar 和任务管理器中。它显示在 .exe 文件属性中。

但是当我在桌面上创建一个快捷方式时,它会显示一个拉伸的低分辨率图标(16x16)。当我转到此快捷方式的属性时 - 它显示了 64x64 版本。要在快捷方式上显示高分辨率图标,我必须转到快捷方式图标的属性,单击唯一可用的高分辨率图标,单击“确定”和“应用”并执行此序列两次。

如果我删除快捷方式并尝试再次创建它,它会再次显示 16x16 图标,直到我分配该图标两次。

我专门研究了 .res 文件 - 只有一个图标。

我已经清除了图标缓存,注销并登录。仍然没有改变行为。这种行为可以在其他装有 Windows 7 的计算机上重现。

我不知道发生了什么。它是从高分辨率制作低分辨率版本还是将以前的版本缓存在某个地方?

4

1 回答 1

2

打开命令提示符窗口并输入:

taskkill /IM explorer.exe /F
DEL "%localappdata%\IconCache.db" /A
shutdown /r /f /t 00

这将重建图标缓存,这很可能是问题的根源。请注意,最后一个命令将关闭并重新启动计算机,因此请确保在执行命令之前保存所有数据。

于 2013-02-21T21:52:42.447 回答