delphi - 高分辨率 exe 图标导致 Windows 桌面快捷方式上的低分辨率图标

标签 delphi windows-7 delphi-6 shortcut-file

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

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

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

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

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

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

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

最佳答案

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

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

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

关于delphi - 高分辨率 exe 图标导致 Windows 桌面快捷方式上的低分辨率图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14990152/

相关文章:

windows-7 - VB6 Timer()、Space() Form_Initialize() 导致立即崩溃

windows-7 - Python 3 - "ImportError: No module named …"

delphi - 在 Delphi 中编译和构建有什么区别?

delphi - 使用 Delphi 在 Excel 工作表的每一行插入图像

delphi - 如何使用DDE服务器

xml - 如何从 XPath 选择中获取 IXMLNodeList?

multithreading - 访问自己的线程信息(delphi)

delphi - "Pentium-safe FDIV"...2014 年?

python - 在 Windows 7 上以编程方式更改系统范围内的扬声器平衡

c# - VirtualProtect-AV : Attempted to read or write protected memory