做个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

解决方案 »

  1.   

    因为这样合并不行的,应该自己做一个exe在最前面,然后后面跟上FileA,FileB自己做的exe运行时把后面的文件copy出来,保存成临时文件再运行
      

  2.   

    kmlxk(xiaoKKKK)  你的意思是 把我的程序 放在第一位  然后在我的程序运行后   再读取文件 把第二个程序保存出来 再运行它  是吗
      

  3.   

    老大.合并不是你那样的!!不是把2个文件用2进制强制写在一块就是合并!WIN系统才不会自动运行后面的程序呢!!
      给你一个思路,你把后面的文件数据写在前面EXE文件的自定义资源里面,运行EXE的时候,释放资源,生成第2个EXE文件(第2个文件),运行即可
      具体的代码你可以找我的BLOG上有
      

  4.   

    呵呵   我没明白 ZOU_SEAFARER(颓废程序员^_^)   的意思
      

  5.   

    明白了    谢谢  ZOU_SEAFARER(颓废程序员^_^)