【问题标题】:Why does the desktop icon differ from the explorer icon?为什么桌面图标与资源管理器图标不同?
【发布时间】:2010-11-03 15:43:15
【问题描述】:

由于某种原因,当我的应用程序放在桌面上时,我的图标的一个非常旧的版本不断出现。在 Windows 资源管理器(在所有缩放级别)中,图标正确地是程序集图标。我在 XAML Window.Icon 和项目设置中都指定了正确的项目。 我已经从我能想到的所有文件夹中删除了旧版本的图标,但它仍然出现。此外,在拖放时,会显示错误的图标。 (在略微透明的预览窗口中)

我尝试清理和重建,我尝试手动删除 obj 文件夹... 原来的错误图标是 16x16。我将新版本构建为 32x32,因为在桌面上 16x16 太小了。 根据 msdn 文档 (http://msdn.microsoft.com/en-us/library/system.windows.window.icon.aspx),每个 .ico 文件都应该包含所有较小的大小。 我还检查了我是否更改了调试和发布配置的图标。

感谢您的任何想法! :)

【问题讨论】:

  • 您是否尝试将其安装在不同的机器或虚拟机上?
  • 您是否检查过 .ico 文件中的所有大小都是相同的图像?一个 .ico 文件包含多种尺寸,但每个尺寸都是独立的,这意味着 16x16 看起来可能与 32x32 完全不同。
  • @wheaties:谢谢你的想法。我刚刚在一台相当新的笔记本电脑上试了一下,图标显示正确。我想我会尝试重新启动我的计算机,这听起来很愚蠢。 @JoeL:我该如何检查?我使用插件在 Photoshop 中创建了 .ico。用 VS 或 PS 看不到任何其他图像。

标签: c# wpf icons


【解决方案1】:

这可能是 IconCache 的问题吗?尝试删除 %localappdata%\IconCache.db 并重新启动 Explorer.exe。

【讨论】:

  • 谢谢,成功了!这似乎是一个奇怪的问题。你有更多关于图标缓存的信息吗?我没有在 msdn 上找到任何具体的内容。例如:它是如何创建的,以及它正常刷新的时间。
  • 我所知道的是,在我曾经拥有的每台 Windows 机器上,它都会损坏,所以这是一个我非常熟悉的过程。 IIRC TweakUI 可以选择代表用户执行此操作,因此 MS 知道这是一个问题。我很惊讶它仍然存在。
  • 我添加了另一个图标只是为了检查,这次没有要删除的 iconcache.db。但无论如何重新启动资源管理器都有帮助。所以甚至可能不是缓存的问题。
  • 是的,Windows 中的图标处理有点无聊。缓存是一件好事(特别是如果你的桌面和我的一样拥挤),但它绝对不是完美的。
【解决方案2】:

检查 EXE 项目的 Visual Studio 属性窗口——您可以指定在编译时写入 EXE 的图标。这与在运行时分配给 XAML 窗口的图标是分开的。

【讨论】:

  • 1.如果您的意思是“应用程序”选项卡中指定的“图标和清单”设置,我已经这样做了。 2. 在浮动属性窗口中只有两个选项可用:“项目文件”和“项目文件夹”。没有图标。我正在使用VS2010。 3. 我将 Icon 属性中的“构建操作”更改为“编译”,但这并没有解决问题。
猜你喜欢
  • 1970-01-01
  • 2011-03-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多