首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

做个EXE合并器,合并成功,为什么后一个程序不会执行解决办法

2012-01-28 
做个EXE合并器,合并成功,为什么后一个程序不会执行做个EXE合并器,合并成功,为什么后一个程序不会执行代码

做个EXE合并器,合并成功,为什么后一个程序不会执行
做个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

[解决办法]
因为这样合并不行的,应该自己做一个exe在最前面,然后后面跟上FileA,FileB

自己做的exe运行时把后面的文件copy出来,保存成临时文件再运行
[解决办法]
老大.合并不是你那样的!!不是把2个文件用2进制强制写在一块就是合并!WIN系统才不会自动运行后面的程序呢!!
给你一个思路,你把后面的文件数据写在前面EXE文件的自定义资源里面,运行EXE的时候,释放资源,生成第2个EXE文件(第2个文件),运行即可
具体的代码你可以找我的BLOG上有
[解决办法]
呵呵,楼主不要伤心,估计这个程序可以合并MP3之类的媒体文件。去试试吧

热点排行