Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Delphi 某些XE2程序不';在Windows资源管理器中不显示新的可执行图标_Delphi_Resources_Icons_Delphi Xe2 - Fatal编程技术网

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

Delphi 某些XE2程序不';在Windows资源管理器中不显示新的可执行图标,delphi,resources,icons,delphi-xe2,Delphi,Resources,Icons,Delphi Xe2,我有几个用Delphi XE2编写的程序,它们是从Delphi 2005转换而来的,在Windows 7下,当在桌面上创建快捷方式时,这些程序会显示可怕的缩放图标 使用IcoFX,我创建了一个新图标,其中包含常见的4种尺寸(256、48、32、16),并浏览了我的程序,转到每个尺寸的“外观”选项卡并加载新图标 在重新构建完所有的程序后,我将Windows资源管理器切换到“大图标”视图,并查看Bin文件夹中的程序,但我发现只有一些程序显示了新的256px图标。其他的仍然显示较小的48px 我再次检

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

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

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

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


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

听起来你正在体验Windows缓存图标的过程。所有可执行文件的图标在第一次显示时都会被Windows缓存,因此如果更改图标,Windows仍会显示旧图标,因为它已缓存

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

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

将“用户名”替换为用户配置文件文件夹的文件夹名。删除此文件后,必须注销并重新登录,或终止/重新启动
explorer.exe
进程。完成此操作后,所有内容都应正确显示。

Windows很可能正在缓存您的图标。您需要清除Windows的图标缓存。此外,请尝试将这些应用程序放在以前从未去过的其他文件夹中。@Jerry这是唯一合理的答案。应该是答案。@用户通过将文件复制到其他位置来检查图标缓存,从而强制Windows从该文件构建新缓存。@Jerrydoge-如果您回答这个问题,我将+1它。我不久前发现了这一点,在我回忆起来的时候,这是相当令人讨厌的。