替换应用原本的exe图标

这个真好用 Resource Hacker

事件起因

原因是用pyinstaller打包flet应用总是替换不了flet那个小鱼的图标,害我每次打包完,不得不手动自己替换掉(悲)

解决方法

点击查看内容

6.4.0版本pyinstaller打包完的0.19.0版本flet应用,flet库会有个单独的文件夹
###\dist\main\_internal\flet\bin\flet

  • 文件夹中有个带图标的flet.exe文件,在Resource Hacker打开它
  • 找到图标文件
  • 使用Action中的Replace Icon功能替换
  • 替换成提前准备好的.icon文件即可

参考教程:

- 2024.3.7更新 -


还没结束

点击查看内容

如果改完后运行程序发现还是没有变化呢?其实是缓存的问题,需要清一清图标缓存

方法一 双击这个bat

把这串代码写入一个清理图标缓存.bat文件里,然后双击运行一次即可

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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

方法二 手动清理

  • 打开图标缓存文件夹,win+R输入%localappdata%
  • 删除 隐藏文件IconCache.db
  • 重启Windows 资源管理器
  • 完成

参考教程:

- 2024.3.7更新 -