a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > Visual Basic > 正文

VB將OCX植入執行文件內

2023-06-12 12:11:32
字體:
來源:轉載
供稿:網友

在用VB編程中使用第三方控件,必須使程序能夠在系統目錄或程序目錄下找到所用的第三方控件。通常有兩種辦法:一是把控件和程序制成一個壓縮包發行,這樣的缺點是有可能導致在程序傳播過程中丟失控件文件。二是制作安裝程序,缺點是制作過程煩瑣。本文講述了將第三方控件以自定義資源文件方式保存在程序中,程序運行之后使用控件之前將所用到的控件生成到該程序目錄下,完成控件從可執行文件中的金蟬脫殼。

具體做法如下:

第一步:將要用到的控件拷貝到當前工程目錄下,右鍵單擊該控件,選擇屬性,記下文件大小。注意,應記下以字節為單位的具體數字,而不是多少K,以備編程使用。

第二步:引用并正常使用該控件。

第三步:新建資源文件加入工程,在資源文件編輯器中添加所使用的第三方控件為自定義資源(CUSTOM),資源號使用默認的101。如果使用了多個控件則分別添加到資源文件的101、102......資源項中,脫殼代碼也要作相應的修改。

第四步:編寫控件脫殼代碼,使其讀取資源文件的數據,在程序當前目錄下生成控件。

代碼如下:

Private Const OCXSIZE = 57344 '欲生成的控件大小是57344Byte,名字為CoolToolBar.ocx

Sub Main()
              Dim Ocx() As Byte 'OCX是個Btye類型的數組
              Dim Counter As Long
              Ocx = LoadResData(101, "CUSTOM") '將自定義資源中101號資源讀入數組OCX

'注意,微軟的幫助中對加載自定義資源的說明有錯誤,自定義資源標識為"CUSTOM"而不是幫助所說的數字10

If Right(App.Path, 1) = "($%$43%^#ASD#2@$#f$%^) Then '讀取程序所在路徑,判斷是否為根目錄并分別處理
  '程序在根目錄下
  If Dir(App.Path & "CoolToolBar.ocx") = "" Then '程序路徑下有無控件,無則生成控件
   '以二進制方式寫(生成)控件(CoolToolBar.ocx)到主程序所在的目錄
   Open App.Path & "CoolToolBar.ocx" For Binary As #1
   For Counter = 0 To OCXSIZE - 1 '注意因為從0 Byte開始因此以文件大小 - 1Byte 為終值
    Put #1, , Ocx(Counter)
   Next Counter
   Close #1
  End if
 Else
  '程序不在根目錄下
  If Dir(App.Path & "/CoolToolBar.ocx") = "" Then '程序路徑下有無控件,無則生成控件
   '以二進制方式寫(生成)控件(CoolToolBar.ocx)到主程序所在的目錄
   Open App.Path & "/CoolToolBar.ocx" For Binary As #1
   For Counter = 0 To OCXSIZE - 1 '注意因為從0 Byte開始因此以文件大小 - 1Byte 為終值
    Put #1, , Ocx(Counter)
   Next Counter
   Close #1
  End if
 End if
 Form1.Visible = True '主程序所用控件已經生成,顯示主窗體,進入主程序。
End Sub  

注意:將以上代碼作為一個模塊添加到工程中,并在工程-工程屬性設置中將啟動對象選為Sub Main,即上面的脫殼代碼。然后編譯生成EXE文件,將該EXE文件拷貝到其他沒有安裝所用控件的計算機上運行一下看看是否實現了控件攜帶之金蟬脫殼。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 黄色免费av网站 | 91精品国产高清久久久久久久久 | 国产免费黄色 | 日韩电影一区 | 欧美日韩久久精品 | 国产区在线| 欧美激情自拍偷拍 | 成人av免费在线观看 | 精品国产乱码久久久久久牛牛 | 中文字幕在线播放第一页 | 绯色av一区二区三区在线观看 | 中文字幕一级 | 91精品久久久久久久久久 | 欧美日韩在线观看一区 | 日韩一二三区 | 国产精品视频一区二区三区不卡 | 国产一区二区久久 | 国产精品久久久久毛片软件 | 韩国精品一区二区 | aaa日本高清在线播放免费观看 | 老司机午夜免费精品视频 | 爱爱视频在线免费观看 | 午夜日韩在线观看 | 成人不卡| 日本精品视频网站 | 欧美成人理论片乱 | 一二三区不卡视频 | 久久综合av| 国产精品大片在线观看 | 欧美国产一区二区三区 | 四虎8848精品成人免费网站 | 国产精品久久久久久久久久久久久久 | 国产乱码一区二区三区 | 国产精品美女视频一区二区三区 | 欧日韩在线观看 | 午夜激情视频在线 | 久久久久久久久久久久久九 | 粉嫩高清一区二区三区 | 欧洲成人在线视频 | www.久久久 | 国产va |