• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    從程序中生成Exe文件

    發布: 2007-5-25 09:21 | 作者: iProgram | 來源: 互聯網 | 查看: 31次 | 進入軟件測試論壇討論

    領測軟件測試網 從程序中生成Exe文件
      這篇文章要討論的是在一個VB程序中如何產生出另一個Exe文件。
      要實現這個目的,必須符合以下幾個條件:
        第一、編寫這樣的程序時,具備欲生成的Exe文件
        第二、事先知道欲生成的Exe文件大小
      其實這兩個條件可以說不是條件,但確實很重要。
      為了敘說方便,將發行的程序稱作APP-1.Exe,要生成的文件叫APP-2.Exe,以下是具體步驟:

        第一步,準備好APP-2.Exe,這里我使用VB寫了一個什么都不做程序,編譯成APP-2.Exe。
        第二步,右鍵單擊單擊APP-2.Exe,選擇屬性,記下文件大小。注意,應記下以字節為單位的具體數字,而不是多少k。
        這樣就具備了前邊說的兩個條件。
        第三步,新建工程APP1,新建資源文件加入工程,在資源文件編輯器中添加自定義資源(CUSTOM),資源號使用默認的101。值得注意的是,每個資源號對應的資源項對資源大小的要求是有限制的,我記得時64K,因此如果APP-2.Exe的大小如果大于這個數的話,就要麻煩一些。如果是這樣,我們的寫另一個程序,把APP-2.Exe一個字節一個字節的讀出來,每64K生成一個文件,然后再把這些文件分別寫道資源文件的101、102......資源項中,代碼也要作相應的修改。

        第四步,為APP-1.Exe編寫代碼,使其讀取資源文件的數據,生成APP-1.Exe。

      代碼如下:

      Private Const FILESIZEOFAPP2 = 20480 '我生成的APP-2.Exe大小是20480Byte
      Private Sub cmdOK_Click() '單擊按鈕cmdOK運行代碼
        Dim APP2() As Byte 'APP2是個Btye類型和數組
        Dim Counter As Long
        APP2 = LoadResData(101, "CUSTOM") '將自定義資源中101號資源讀入數組
        '注意,微軟的幫助中對加載定義資源的說明有誤,硬是資源標識為"CUSTOM"而非數字
        If Dir(App.Path & "\APP-2.Exe") <> "" Then '第一次按cmdOK有效
          MsgBox App.Path & "\APP-2.Exe 已經存在!"
          Exit Sub
        End If
        Open App.Path & "\APP-2.exe" For Binary As #1 '以二進制方式寫(生成)APP-2.Exe到APP-1.Exe所在的目錄
          For Counter = 0 To FILESIZEOFAPP2 - 1 '注意因為從0 Byte開始因此以文件大小 - 1Byte 為終
            Put #1, , APP2(Counter)
          Next Counter
        Close #1
        Shell App.Path & "\APP-2.Exe", vbNormalFocus '運行剛生成的APP-2.Exe
        Unload Me
      End Sub

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>