delphi - 某些 XE2 程序在 Windows 资源管理器中不显示新的可执行图标

标签 delphi resources icons delphi-xe2

我有几个用 Delphi XE2 编写的程序,这些程序是从 Delphi 2005 转换而来的,在 Windows 7 下,当在桌面上创建快捷方式时,这些程序会显示可怕的缩放图标。

使用 IcoFX,我创建了一个包含常用 4 种尺寸(256、48、32、16)的新图标,并浏览了我的程序,转到每个图标的“外观”选项卡并加载新图标。

全部重建后,我将 Windows 资源管理器切换到大图标 View 并查看 Bin 文件夹中的程序,但我发现只有其中一些程序显示新的 256px 图标。其他的仍然显示较小的 48px。

我再次检查了项目选项,它们似乎都是相同的,所以我使用 Resource Hacker 查看 EXE。它们全部包含 4 个不同尺寸的图标,分别命名为 1、2、3、4,并且它们都包含一个图标组,其中包含包含所有 4 个尺寸的 MAINICON 资源。

所以我不明白为什么有些可以正确显示大图标,而有些则不能。大家对此有什么想法吗?

最佳答案

听起来您正在经历 Windows 缓存您的图标。所有可执行文件在第一次显示时都会由 Windows 缓存其图标,因此,如果您更改图标,Windows 仍会显示旧图标,因为它已缓存。

您应该清除图标缓存。为此,您需要删除位于以下位置的隐藏系统文件夹中的文件:

C:\Users\User-Name\AppData\Local\IconCache.db

将“用户名”替换为您的用户配置文件文件夹的文件夹名称。删除此文件后,您必须注销并重新登录,或者终止/重新启动 explorer.exe 进程。执行此操作后,一切都应该正确显示。

关于delphi - 某些 XE2 程序在 Windows 资源管理器中不显示新的可执行图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19848585/

相关文章:

德尔福7 : PageControl MouseMove while drag and dropping on it

jquery - 如何使用 jQuery 和 "Long Polling"通过 Indy HTTP 服务器动态更新 HTML 页面?

cocoa - 为 Cocoa 应用程序分配图标——可以使用 SVG 吗?

javascript - 向谷歌地图添加复杂图标

macos - 如何在 OSX 上的应用程序名称下创建子项目菜单?

c++ - 开始 OpenCL 教程?

c# - 使用 C# Windows 窗体进行本地化,无法访问我的 .resx 文件

html - android HTML 模板作为资源

ios7 - 如何使用默认的 iOS 图像?

delphi - DBGrid XE3背景色