2

我有一个几乎完成的 C# 项目,而且它足够大,以至于不考虑重写它。现在我快完成了,我想为它设置一个图标,让它变得漂亮。经过大量错误和试验后,我创建了一个 256*256 .ico 文件并将其设置为以下面板中的应用程序图标:

  1. 项目设置
  2. 应用程序选项卡
  3. 图标和清单
  4. 图标

问题是在 Windows 资源管理器中 .exe 文件的图标不会大于 32*32 像素(或者可能是 48*48,我不确定)并且图标周围有一个丑陋的框(我认为 Windows 把当找不到合适的图标大小时,它就在那里)。在这种情况下,正如我之前所说的,图标是一个仅 256*256 的 .ico 文件(文件中只有一帧,即 256*256 像素)。

所以为了进一步测试它,我创建了另一个与前一个项目类似的项目,并设置了相同的图标文件,令我惊讶的是,编译后的 .exe 文件的图标与 Windows 资源管理器中的其他图标一样大。

谁能解决这个问题?Windows资源管理器是否有可能从缓存中显示较旧的?如果是这样,我该如何重置该缓存?

[更新]

我设法证明这是 Windows 资源管理器的错,因为它缓存了图标并且它向我显示了旧版本的图标。那么如何重置 Windows Explorer 的缓存呢?

4

1 回答 1

2

图标缓存几乎可以肯定是这里的罪魁祸首。该系统在缓存图标方面非常积极,因为它认为这些图标是静态的。当然,这与开发者尝试应用程序相冲突。

一个简单的检查方法是获取具有错误图标的可执行文件并重命名该文件。这足以绕过缓存,您的大图标应该会出现。

重建图标缓存的说明:http ://www.sevenforums.com/tutorials/49819-icon-cache-rebuild.html

于 2013-08-05T11:21:11.227 回答