注册 登录
编程论坛 VB6论坛

VB6.0能不能用代码动态更换程序的图标、产品名、公司名称等等?

小刀神 发布于 2018-09-03 17:32, 1941 次点击
VB6.0能不能用代码动态更换程序的图标、产品名、公司名称等等?
要如何更换?
4 回复
#2
wube2018-09-03 19:27
imagelist
#3
风吹过b2018-09-03 22:52
应用程序的图标,比较复杂。
实在要换,你要再单独写个程序,负责 pe 的资源编辑的程序,编辑要修改图标的 程序,然后进行更换。
程序属性里的产品名,公司,都可以用这种方式改的,努力吧!
#4
小刀神2018-09-04 10:26
回复 3楼 风吹过b
能具体点说说么?就是需要用到哪方面的知识?
#5
风吹过b2018-09-04 14:57
完整解析,需要掌握 汇编,C++ , PE文件结构 等内容。

简单处理:
1、编译你的工程,生成一个可执行文件 。得到第一个文件
2、使用 PE资源修改器(如 PE Explorer),修改你的 第一个文件 ,得到第二个文件 。 如改图标,改公司名。。。
3、比较不同的内容,得到 对应 资源的起始位置和数据代码。如果数据代码不可用,那还可以重复1、2步骤,然后在这步读取新的内容,保存为二进制数据。
4、使用二进制模式打开可执行性文件,根据得到的起始位置,根据保存的二进制数据,修改指定的内容。

这样的结果,每个修改程序对应的应用程序版本是固定,每一种修改的数据,你都需要事先提取指定的数据,保存为二进制数据备用。
但可以变通达到你的目的。

字符串对象,不能超过原长度 ,但长度不够时,可以到最后补充 CHR(0) ,或者写做 &H00 。
原长度很有可能在最后有一个 &H00 ,这个一定要保留的。

1