如何用程序修改某个指定的EXE文件的图标?(100分)

  • 主题发起人 主题发起人 Neffpb
  • 开始时间 开始时间
N

Neffpb

Unregistered / Unconfirmed
GUEST, unregistred user!
不好意思,老调重谈。本人在提出问题之前曾搜索过一下相关的主题,
但发现要么是太难的:了解及修改PE; 要么是简单但是没有例子的方法:
使用流,或UpdateResource函数。大家能否给出个带例子的程序?谢谢!
 
关注一下
 
[^] 大家帮帮忙啊......我会很惨的...
 
这个问题我用FindResourceEx方法做了,但在该函数的lpName参数中,我将
其设置为'MainIcon' 时,运行时总是报告:找不到资源。但我用Delphi的Image
Editor查看本程序的图标资源时,里面是显示图标名为: MAINICON 的啊?
真不知道这是怎么回事!
还有,我怀疑UpdateResource这个API在使用起来时会有麻烦。因为,它有个
参数:lpName也是要求知道对方程序的资源名,可是这个名字可能和上面的情况
一样:很难确定。
不知道谁有办法解决这些问题,或是另辟捷径:如使用流操作什么的。
如果有人能解决此问题,本人愿再奉献100分。
企盼高手!能有例子最好。
E-Mail:pgxun@263.net
 
UpdateResorces这个东西在98下无效。
 
请换大写MAINICON试试。
 
To pxie:
大写的:MAINICON我也已经试过了。
To yzhshi:
我现在提供的是在WinXP下测试的结果。
 
这个问题是不是太难了? 我愿意再加100分以求一个解决之道。
企盼高手不吝赐教。
 
不可能...因为每个可执行文件的格式都不相同,这样就不能修改其资源。
如果真的要做,只能针对某一EXE文件使用资源编辑器(例如BC++)分释其资源文件,再编写
程序来修改图标资源。(好象前一阵的修改冰河的服务器端图标程序一样)
 
对于这个问题,我自己觉得还算是有发言权,诸位搜索一下有关那个UpdateResorces的api
似乎都是那篇无聊的文章,而不见到那个写出代码例程,我出过1000点,陈经韬给了贴子,
不过编译不了,个人有如下两种解决方法,可是由于技术原因不能实现。方法一,查找
图标资源所在的位置,比如iconposition=300,则把新图标拷贝到当前位置上,不过,至于
怎么获取图标资源的位置不得而知,据说可以用第三方工具,比如16位编辑器(如果谁
知道告诉我),另外的就是把图标拷贝的文件尾部(使用copyfrom)然后就行了,呵呵!
大家谁做好了,给我一个例程,大富翁上1000点奉送,绝对自己的分数,txyqbf_gxx@163
.com!欢迎讨论,写了这么多,肯给我多少分???:)
 
这个问题我问了五次,发了500多分,现在还没有着落,如何有什么告知,

再加100分
 
怎么现在还再讨论这个问题啊!
N年前我就写过这样一个程序了,我用的方法是直接分析PE格式,找到资源目录,在内存映射
文件中直接把ICON数据拷贝过去就行了。
我是用C++写的,因为是很久以前做的,具体细节记不清了。
如果你想要,我再帮你找找看源代码还在不在。
 
大侠,现在新生的菜鸟很多,这个阶段就看你们的,

如果delphi发一份给我们吧

aohoo163.com
 
To crime:
如果是Delphi版本的,请寄给我一份。
Email: shadfrc@sina.com
 
这个怎么还没有人肯公开呀
 
多人接受答案了。
 
后退
顶部