2013-08-05 24 views
1

我有一个C#项目几乎完成,它足够大,不会想到重写它。现在我快要完成了,我想为它设置一个图标,使它变得非常漂亮。经过大量的错误和审判我创建了一个256 * 256 .ico文件,并将其设置为以下面板应用程序的图标:为C#应用程序设置一个256 * 256图标

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

问题是,在Windows资源管理器中.exe文件的图标不会超过32 * 32像素(或者它可能是48 * 48,我不确定),图标周围有一个丑陋的框(我认为Windows把它放在那里ñ无法找到适当的图标大小)。正如我之前所说的那样,图标是256 * 256的.ico文件(文件中只有一个帧,256 * 256像素)。

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

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

[更新]

我设法证明它的Windows资源管理器的故障,因为它缓存图标,它向我展示了旧版本我的图标。那么如何重置Windows资源管理器的缓存?

+0

对不起,您确切的问题是什么?你想在应用程序标题栏中使用256x256图标?或者你想删除黑色轮廓? –

+0

我想为我的.exe文件创建一个256 * 256的图标,我非常肯定,一旦达到黑色轮廓就会自动消失。 – Mehran

+0

你是否在为你的256像素图标使用PNG压缩?这会对您的可执行文件大小产生很大的影响。 –

回答

1

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

一个简单的方法来检查是采取具有错误图标的可执行文件并重命名该文件。这足以绕过缓存并显示大图标。

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