jjude200 2008-12-17 01:41
shell32图标的修改方法
我一直希望找一个可以自动替换shell32.dll的图标的方法,因为像传统的用resource hacker手工替换的话,不仅耗时耗力,而且由于每个图标的色深、大小都是不一样的,所以每个图标都要独立制作。这样的工作量是相当巨大的,所以常用的方法是制作统一色深、大小的图标,但这样会使shell32.dll的体积增大很多,消耗大量的系统资源,而且可能造成系统的不稳定。另外shell32.dll的版本问题也是一个限制。
所以,我用resource hacker和png2ico两个软件配合批处理,做了一个简单的制作工具。(附件)
附件包括:
1,Resource\文件夹,内含resource hacker软件。
2,png2ico.exe,如名。
3,制作图标.bat 如名。
4,替换图标.bat 如名。
5,替换记录.log 替换图标时自动生成,历史记录文件。
6,shell32.txt,决定每个图标色深、大小的定义文件,可以修改,但不建议。这个是我根据deepinxp-v3.5的shell32.dll中的图标为蓝本制作的。比较稳定。
7,icons.rc shell32.dll的图标索引文件,可以自己制作,方法:用resource hackerrjian 打开一个完整的shell32.dll,选择“保存[图标组]资源”就会生成这个rc文件(名称自定)和一大堆原来的图标。
8,pngs\ 文件夹,你的png图片就放在这里了,如果没有这个文件夹,运行“制作图标.bat”就会自动生成。
9,icons\ 文件夹,同上。不过是生成的ico图标的保存位置。
10,temps\ 临时文件夹,自动生成。
使用方法:
1。先把你要修改的shell32.dll放到本目录下。
2。假设你要用123.png作成图标替换shell32.dll里的第4个图标,那么就把123.png重命名为4.png,放到pngs文件夹中,然后运行“制作图标.bat”,那么就会制作出一个命名为Icon_4.ico的图标放在icons文件夹内,然后运行“替换图标.bat”就会自动替换shell32.dll里的第4个图标了。
3。如果你要替换一大批图标的话,就把你所有的png图片按照上面的规则重命名并放到pngs文件夹中(即你要替换第n个图标,就把此png图片改为"n.png",不要在前面加0,n是指序号。而不是在resource hacker软件中看到的图标组的图标数字。如最后一个图标是238,而不是16721)。然后运行“制作图标.bat”,运行结束后在执行“替换图标.bat”就可以了,替换记录会自动生成为“替换记录.log”。
4,注意:修改后的shell32.dll还是保存为shell32.dll,修改前的shell32.dll会被替换掉,请自己备份。