MFC:修改生成exe文件图标

Posted tianxiafeiyu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MFC:修改生成exe文件图标相关的知识,希望对你有一定的参考价值。

网上找了一下,大概可以总结有

方法一:
    要更改图标,在resource.h中打开之后可以看到各个资源的ID值,一般mfc自动生成的IDR_MAINFRAME是128,自己添加的会大于128,顺序后延,编译时默认将ID最小的作为exe的图标,所以只要我们将其改之就可以了,还是上面的对话框,将IDI_ICON1改为128,将IDR_MAINFRAME改为其他的大一点的数不能太大了,因为可能会有其他用处,然后重新rebuild,这时就可以看到exe图标变成了自己的IDI_ICON1的图标了。

方法二:
1、在程序res文件夹下,删除MFC图标文件,加入自己的图标文件;

2、在图标IDR_MAINFRAME的属性对话框中,修改File name路径为自己的图标文件。

  

  自己照着两个方法都改了,但是debug和realease编译生成的程序图标都没有变化,搞了一下午都没有结果;

      但是,当我看到这一篇博客后https://blog.csdn.net/langb2014/article/details/50644792,醍醐灌顶

  其实图标已经改好了,但是由于系统的问题,统下图标的缓存没有刷新,所以改好的图标没有显示出来,只需要重建下图标缓存既可。

  

      在项目下建一个txt文件添加:

 

rem 关闭Windows  explorer  

  taskkill /f /im explorer.exe  

  rem 清理系统图标缓存数据库  

  attrib -h -s -r "%userprofile%\AppData\Local\IconCache.db"  

  del /f "%userprofile%\AppData\Local\IconCache.db"  

  attrib /s /d -h -s -r "%userprofile%\AppData\Local\Microsoft\Windows\Explorer\*"  

  del /f "%userprofile%\AppData\Local\Microsoft\Windows\Explorer\thumbcache_32.db"  

  del /f "%userprofile%\AppData\Local\Microsoft\Windows\Explorer\thumbcache_96.db"  

  del /f "%userprofile%\AppData\Local\Microsoft\Windows\Explorer\thumbcache_102.db"  

  del /f "%userprofile%\AppData\Local\Microsoft\Windows\Explorer\thumbcache_256.db"  

  del /f "%userprofile%\AppData\Local\Microsoft\Windows\Explorer\thumbcache_1024.db"  

  del /f "%userprofile%\AppData\Local\Microsoft\Windows\Explorer\thumbcache_idx.db"  

  del /f "%userprofile%\AppData\Local\Microsoft\Windows\Explorer\thumbcache_sr.db"  

  rem 清理 系统托盘记忆的图标  

  echo y|reg delete "HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\CurrentVersion\TrayNotify" /v IconStreams  

  echo y|reg delete "HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\CurrentVersion\TrayNotify" /v PastIconsStream  

  rem 重启Windows外壳程序explorer  

  start explorer  

记事本->选择另存为->所有文件->命名为XXX.bat

以上是关于MFC:修改生成exe文件图标的主要内容,如果未能解决你的问题,请参考以下文章

Qt中,怎么修改生成的EXE文件的图标和名字

如何给生成的exe加上ico图标

VS2013中修改MFC对话框左上角和exe图标

怎样更改已生成的exe文件的ico图标

更换用installshield打包生成exe文件的图标

怎么修改用matlab编译GUI程序生成的exe文件的图标