做个EXE合并器,合并成功,为什么后一个程序不会执行 代码如下:,,请大家教教我,看哪里错了 If Text1.Text = "" Or Text2.Text = "" Or Text3.Text = "" Then
MsgBox "输入不完整!", vbInformation
Exit Sub
End If
If Dir(Text1.Text) = "" Or Dir(Text2.Text) = "" Then
MsgBox "两个原始文件中,有一个不存在!", vbInformation
Exit Sub
End If
Dim FilePatha As String
Dim FilePathb As String
Dim FilePathc As String
Dim FileLenA As Long
Dim FileLenB As Long
Dim FileLenC As Long
Dim FileDataA() As Byte
Dim FileDataB() As Byte
Dim FiledataC() As Byte
Dim FileLenLongA As Long
Dim FileLenLongB As Long
Dim FileLenlongC As Long
FileLenLongA = 0
FileLenLongB = 0
FileLenlongC = 0
Dim Alist As Long
FilePatha = Text1.Text
FilePathb = Text2.Text
FilePathc = Text3.Text
FileLenA = FileLen(FilePatha)
FileLenB = FileLen(FilePathb)
FileLenC = FileLenA + FileLenB
Open FilePatha For Binary As 1
Open FilePathb For Binary As 2
Open FilePathc For Binary As 3
ProgressBar1.Max = FileLenA
ProgressBar1.Value = 0
Do Until EOF(1)
DoEvents
FileLenLongA = FileLenLongA + 1
ReDim Preserve FileDataA(FileLenLongA)
Get #1, FileLenLongA, FileDataA(FileLenLongA)
ProgressBar1.Value = FileLenLongA
If FileLenLongA = FileLenA Then
Exit Do
End If
Loop ProgressBar1.Max = FileLenB
ProgressBar1.Value = 0
Do Until EOF(2)
DoEvents
FileLenLongB = FileLenLongB + 1
ReDim Preserve FileDataB(FileLenLongB)
Get #2, FileLenLongB, FileDataB(FileLenLongB)
ProgressBar1.Value = FileLenLongB
If FileLenLongB = FileLenB Then
Exit Do
End If
Loop ProgressBar1.Max = FileLenC
ProgressBar1.Value = 0
For Alist = 1 To FileLenA
DoEvents
Put #3, Alist, FileDataA(Alist)
ProgressBar1.Value = ProgressBar1.Value + 1
Next
For Alist = 1 To FileLenB
DoEvents
Put #3, FileLenA + Alist + 100, FileDataB(Alist)
ProgressBar1.Value = ProgressBar1.Value + 1
Next
Close
MsgBox "输入不完整!", vbInformation
Exit Sub
End If
If Dir(Text1.Text) = "" Or Dir(Text2.Text) = "" Then
MsgBox "两个原始文件中,有一个不存在!", vbInformation
Exit Sub
End If
Dim FilePatha As String
Dim FilePathb As String
Dim FilePathc As String
Dim FileLenA As Long
Dim FileLenB As Long
Dim FileLenC As Long
Dim FileDataA() As Byte
Dim FileDataB() As Byte
Dim FiledataC() As Byte
Dim FileLenLongA As Long
Dim FileLenLongB As Long
Dim FileLenlongC As Long
FileLenLongA = 0
FileLenLongB = 0
FileLenlongC = 0
Dim Alist As Long
FilePatha = Text1.Text
FilePathb = Text2.Text
FilePathc = Text3.Text
FileLenA = FileLen(FilePatha)
FileLenB = FileLen(FilePathb)
FileLenC = FileLenA + FileLenB
Open FilePatha For Binary As 1
Open FilePathb For Binary As 2
Open FilePathc For Binary As 3
ProgressBar1.Max = FileLenA
ProgressBar1.Value = 0
Do Until EOF(1)
DoEvents
FileLenLongA = FileLenLongA + 1
ReDim Preserve FileDataA(FileLenLongA)
Get #1, FileLenLongA, FileDataA(FileLenLongA)
ProgressBar1.Value = FileLenLongA
If FileLenLongA = FileLenA Then
Exit Do
End If
Loop ProgressBar1.Max = FileLenB
ProgressBar1.Value = 0
Do Until EOF(2)
DoEvents
FileLenLongB = FileLenLongB + 1
ReDim Preserve FileDataB(FileLenLongB)
Get #2, FileLenLongB, FileDataB(FileLenLongB)
ProgressBar1.Value = FileLenLongB
If FileLenLongB = FileLenB Then
Exit Do
End If
Loop ProgressBar1.Max = FileLenC
ProgressBar1.Value = 0
For Alist = 1 To FileLenA
DoEvents
Put #3, Alist, FileDataA(Alist)
ProgressBar1.Value = ProgressBar1.Value + 1
Next
For Alist = 1 To FileLenB
DoEvents
Put #3, FileLenA + Alist + 100, FileDataB(Alist)
ProgressBar1.Value = ProgressBar1.Value + 1
Next
Close
给你一个思路,你把后面的文件数据写在前面EXE文件的自定义资源里面,运行EXE的时候,释放资源,生成第2个EXE文件(第2个文件),运行即可
具体的代码你可以找我的BLOG上有