MFC - 替换默认应用程序图标
Posted
技术标签:
【中文标题】MFC - 替换默认应用程序图标【英文标题】:MFC - Replacing default application icon 【发布时间】:2010-11-11 01:50:51 【问题描述】:我有一个 MFC 对话应用程序。我想替换应用程序 exe 图标。
-
我打开默认的 MFC 图标,例如。使用 Axialis IconWorkshop 在 res 文件夹中的 app.ico。
替换图标中的所有图片。
将其保存到 appA.ico。
然后我将图标 IDR_MAINFRAME 的 Filename 属性更改为 res\appA.ico。
Visual Studio 图标编辑器显示正确的图像。
但是当我构建应用程序时,与 app.exe 关联的图标仍然显示 MFC 默认图标。
出了什么问题?
【问题讨论】:
尝试重建项目(Build > Rebuild Project)。有时无法正确识别新资源。 【参考方案1】:在这些情况下,Visual Studio 设计器有一点问题(或者,设计使然但难以理解)。最好编辑 .rc 代码文件并在那里更改图标文件名。
【讨论】:
是的,我改了。现在它出现了,但在 Windows 7 上发生了一些非常奇怪的事情。小图标和中图标显示正确,但大图标和超大图标显示 MFC 默认图标。 我也遇到了同样的问题。我的情况是列表和小图标无法正确显示。是因为图标文件本身吗?你最后是怎么解决问题的?谢谢。【参考方案2】:我想我记得它是 .RC 文件中使用的第一个图标,无论您做什么,因此您可能必须直接编辑 .RC 文件,就像 djeidot 说的那样。
【讨论】:
我不知道为什么 MFC 是这样设计的,因为它真的很愚蠢,但它是我的答案。尽管如此,我还必须更改 Ressource.h,因此我的 ICON 的 ID 也将是列表中出现的第一个 ICON ID。【参考方案3】:有时,Windows 会缓存图标。您的应用程序可能没有问题。尝试下载类似Resource Hacker 的内容
并查看您的 exe 文件。如果图标看起来正确,那么您的 appdata\Local 文件夹中有 IconCache.db 或类似文件(取决于 Windows 版本)。删除它并重新加载资源管理器。
【讨论】:
【参考方案4】:其中一个 Visual Studio 文件缓存了一些资源;不幸的是,我现在不记得是哪一个了。将这些带有奇怪扩展名的文件重命名为其他文件并尝试重建。
【讨论】:
【参考方案5】:我有同样的问题并通过这个解决方案解决它:
-
构建\清洁解决方案
将 appA.ico 再次复制到 res 文件夹中
重建项目
【讨论】:
【参考方案6】:我有同样的问题并通过以下方式解决: 1.清除溶液 2.打开任务管理器并转到详细信息选项卡。 3.搜索 explorer.exe 并右键单击它并结束任务。 4.转到文件->运行新任务,输入explorer.exe 5.现在构建解决方案并检查应用程序图标。
【讨论】:
以上是关于MFC - 替换默认应用程序图标的主要内容,如果未能解决你的问题,请参考以下文章