vb 二进制文件合并问题!!急!!

来源:百度知道 编辑:UC知道 时间:2024/05/30 20:34:47
是这样的。。我在写一个合并文件的程序....就是把a.exe和b.exe合成c.exe
但是合成后的c.exe运行后的效果就只有a.exe的...请问各位高人,怎么样才能生成的c.exe运行就相当于运行了a.exe和b.exe呢?
比如a.exe的效果是msgbox "a"
b.exe的效果是msgbox "b"
如何合成才能让运行c.exe后弹两个框:a 和 b呢
下面是我的代码...
Option Explicit
Dim GetArrayA() As Byte, GetArrayB() As Byte
Dim I1 As Integer, I2 As Integer

Private Sub Form_Load()
Open "d:\a.exe" For Binary As #1
Open "d:\b.exe" For Binary As #2
Open "d:\c.exe" For Binary As #3
ReDim GetArrayA(LOF(1))
ReDim GetArrayB(LOF(2))
Get #1, , GetArrayA()
Get #2, , GetArrayB()
Put #3, , GetArrayA()
Put #3, , GetArrayB()

Close #1
Close #2
Close #3

End Sub
回答 ARTERIOSCLEROS 朋友:能呀...我院来看过一位牛人写的文章,,但是现在忘了,好像是在PE文件头做什么手脚。
回答 zdingyun 朋友:你还没吧我的意思听明白能..是生成的C.EXE运行...a.exe和b.exe不运行...
如果有答案我会再加分的!
--------------------------------------------------------------------

唉……兄弟,你对EXE的文件执行方式与机理不甚理解啊。C要执行A和B的功能不是简简单单的把文件合并起来就行了啊……这样是不可能管用的……二进制数字可以复制没错,效果是不能复制的啊……
=====================
除了重新编写一个新程序之外,我没有更好的主意。

新建工程,添加标准模块,标准模块中使用Sub Main()过程,将工程的启动对象设置为Sub Main(),Sub Main()过程中使用Shell函数来调用a.exe和b.exe
Option Explicit

Sub Main()
Dim a
Dim b
a = Shell("C:\a.exe", 1)
b = Shell("C:\b.exe", 1)
End Sub
补充答复:
那我同意1楼的回复,你只能找出a.exe和b.exe的源代码,通过新工程来达到你的目的.