如何修改exe的图标?79分送上!

soj 2000-08-08 12:06:00
如何用程序修改exe文件的图标,我知道是修改程序的资源,但不知道怎么实现?那位高手可以指教一下,谢谢!
...全文
2289 31 打赏 收藏 举报
写回复
31 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
skt642 2001-05-31
55353关注!
  • 打赏
  • 举报
回复
Icebird 2001-04-25
参考Delphi自带的例子程序Resxplor

API:
BOOL UpdateResource(
HANDLE hUpdate, // 用BeginUpdateResource获得的Handle
LPCTSTR lpType, // 资源类型名称(例如 RT_ICON, RT_ANIICON, 等)
LPCTSTR lpName, // 需要修改的资源的名称
WORD wLanguage, // 资源的语言类型, 可以使用MAKELANGID构造
LPVOID lpData, // 存放资源的二进制数据的地址
DWORD cbData // 用字节描述的数据的长度
);

还需要参考
BeginUpdateResource,
EndUpdateResource,
LoadIcon,
LoadString,
LockResource,
MAKEINTRESOURCE,
MAKELANGID,
SizeofResource
  • 打赏
  • 举报
回复
Apollo47 2001-04-20
找到指定应用程序图标的键值,修改注册表,
  • 打赏
  • 举报
回复
guoyhcs 2001-04-20
还可以用restorator修改,比exescope的功能还要强大
可到ttp://www.ffhut.com
http://ffhut.yeah.net
http://ffhut.coc.cc
http://ffforum.yeah.net去下载
  • 打赏
  • 举报
回复
ferrerocao 2001-04-20
exescope可以直接修改用 VC++ 及 DELPHI 编制的程序的资源,包括菜
单、对话框、字串表等.
版本:exescope 6.0
注册号:A191056780
下载网址:
http://zxs99.yeah.net
http://zxs99.126.com
http://zfile.126.com
http://zpatch.yeah.net
  • 打赏
  • 举报
回复
wh2 2001-04-19
请下载go.163.com/~wuestc/together.zip看看
  • 打赏
  • 举报
回复
Again 2001-03-10
关注
  • 打赏
  • 举报
回复
shines77 2000-08-13
关注。
  • 打赏
  • 举报
回复
mophy 2000-08-12
hehe, 我研究了一天,也没有得出什么结论,以下是我的一点体会:

ico 文件也有一个文件头,在偏移 EH -- 11H 处的 DWord 是图标主要部分的大小。
在 exe 文件里面可以找到这个:(下面的负偏移60就是这个~~~~~~~~~~~(上面))
#6+'D'+#0+'V'+#0+'C'+#0+'L'+#0+'A'+#0+'L'+#11+'P'+#0+'A'+#0+'C'+#0+'K'+#0+
'A'+#0+'G'+#0+'E'+#0+'I'+#0+'N'+#0+'F'+#0+'O'+#0
紧接着的是资源名称的大小例如: myicon 就应该这样接:(6字节)
#6+#0+'M'+#0+'Y'+#0+'I'+#0+'C'+#0+'O'+#0+'N'+#0
再紧接的就是资源,图标的主要部分,要替换的话,要把图标的主要部分读出来(不是全部)
然后替换,还要修改大小(见上)和颜色(正在研究)
(以上仅指只包含一个资源的文件,(不含TForm,只有图标.自己写的文件头应该没有TForm吧))

欢迎继续讨论。 xmophy@263.net
  • 打赏
  • 举报
回复
soj 2000-08-12
nieyongixn 朋友,你的意思我清楚,但我想知道怎样才能得到图标的起始地址?
  • 打赏
  • 举报
回复
soj 2000-08-12
noname3朋友,难道你什么都研究得出来?不告诉你微软的api,你研究个程序出来给我看看?不懂就要问,不会回答我的问题请你不要乱插嘴,也不要进行人身攻击,请你尊重别人,这样别人才会尊重你!
  • 打赏
  • 举报
回复
nieyongxin 2000-08-12
我只告诉你解决问题的思路和方法,不会告诉你问题的答案。
图标文件有很多种,16色,32色,256色....大小有1K,2K,3K,还有5K,6K的.
你先得分析图标文件的文件头,多找几个图标文件对比一下就搞定了。
修改其它Exe文件的方法:可以直接修改Exe,找出图标文件在Exe文件中所占的位置,然后用你的ico文件去替换即可。如果你的ico文件比Exe文件中的大,你还得把Exe文件后面的部分向后移,反之则向前移。
修改自身的图标可以用WINDOWS的API实现,你可以去查MSDN
  • 打赏
  • 举报
回复
mophy 2000-08-11
呵呵,我正在研究,有人有这方面的资料吗?
  • 打赏
  • 举报
回复
mophy 2000-08-11
hugos, 人家说的是修改别的程序
  • 打赏
  • 举报
回复
hugos 2000-08-10
在运行时修改自身恐怕很困难,修改别的程序倒是可以。不过PE程序需要在NT环境下才能修改。对于NE程序WIN9X环境也行。(我是指通过API来修改,当然非正常渠道不区分什么环境)
  • 打赏
  • 举报
回复
supercow 2000-08-10
用vc或bc都行。
如果是动态修改图标,那请用api函数吧。
  • 打赏
  • 举报
回复
「已注销」 2000-08-10
去研究一下,PE格式就可以实现你所需要的功能,winnt.h里面有pe格式的结构,在参考一些pe格式说明的文件就清楚。;)
  • 打赏
  • 举报
回复
bar 2000-08-10
本站"共享软件"上有"EXE捆绑机",它可以改生成程序的图标.正象你想要的一样.
  • 打赏
  • 举报
回复
noname3 2000-08-10
没有相关资料你就不会自己研究了,真笨!这个谁也没有资料呀!谁不是自己想出来的,就知道问.
  • 打赏
  • 举报
回复
soj 2000-08-09
我想我要把问题说得清楚一点,我在编一个给exe加壳的程序,要编一个引导的文件头,编好之后生成加壳后的文件,需要改变它的图标,要编程实现,SCUM朋友说的第二点就是我需要的解答,但是否可以详细一点?sample我不大看得懂,因为没有任何相关的资料
  • 打赏
  • 举报
回复
加载更多回复(11)
相关推荐
发帖
Delphi

5122

社区成员

Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
帖子事件
创建了帖子
2000-08-08 12:06
社区公告
暂无公告