自己写的程序,如果更换了图标,编译出来,超大图标显示就会发现图标并没有跟着放大。
那么问题来了,就换个图标效果就不同了,很明显时图标有问题。
用eXeScope打开vs2013编译出来的MFC对话框程序可以看到如下图:
这不止一个图标,而我们替换图标之后,编译,打开发现就只有一个图标,因此可以判断的确是ico图标的问题。
在qq群里问了下其他的朋友,有朋友提示ico图标文件可以包含很多组图标,可以是一个集合。
知道这一点很重要,那么只需要重新制作一个ico图标即可。
下载安装IconWorkshop软件
打开一张图片然后点击这里,如下图:
然后如下设置
设置好之后,点击ok,然后Ctrl+S保存即可,这样ico图标集合就制作好了。
然后用这个图标替换,重新编译,刷新一下系统图标缓存,然后改变图标缩放,就可以看到效果了。
“强制刷新图标缓存.bat”内容如下:
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复制以上内容保存到 强制刷新图标缓存.bat 双击即可刷新系统图标缓存。
最后附一张最终效果图:
本文解决了一个关于程序ICO图标在更换后无法正常显示的问题。通过使用IconWorkshop软件创建包含多种尺寸的图标集,并通过特定批处理命令刷新系统图标缓存,成功解决了图标显示不全的情况。
&spm=1001.2101.3001.5002&articleId=60868858&d=1&t=3&u=c2fb50b654264618ba64d1f1f22c7709)
2582

被折叠的 条评论
为什么被折叠?



