欧美特黄不卡,涩涩视频在线,成人国产精品一区二区网站,亚洲一区二区三区欧美

當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

從程序中生成exe文件

從程序中生成exe文件

更新時間:2022-05-10 文章作者:未知 信息來源:網絡 閱讀次數:

這篇文章要討論的是在一個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

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

主站蜘蛛池模板: 唐海县| 达尔| 河东区| 南安市| 南通市| 额敏县| 宁波市| 甘肃省| 乐亭县| 荆门市| 庆城县| 万山特区| 双城市| 仲巴县| 阳山县| 金沙县| 武城县| 额尔古纳市| 奉贤区| 循化| 专栏| 元朗区| 义马市| 兴和县| 红安县| 合作市| 塔城市| 海盐县| 汝阳县| 西昌市| 邯郸县| 博野县| 峨山| 安图县| 凉山| 赫章县| 满洲里市| 灵寿县| 沾化县| 汕尾市| 南皮县|