如何在VB中加載OCX文件_第1頁
如何在VB中加載OCX文件_第2頁
如何在VB中加載OCX文件_第3頁
全文預覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、如何在VB中加載OCX文件可殲近來寫的不少文件都是用到系統(tǒng)的ocx文件,但是發(fā)現(xiàn)很多xp的精簡系統(tǒng)中居然都沒有這些oex文件。搞得我的程序在許多人的機器上無法運行,這樣我就找到如下的方法來解決這個問題。即:在exe文件中將ocx作為資源文件,外部有則不理,外部沒有則自動生成。做法是,將第三方控件以自定義資源文件方式保存在程序中,程序運行之后使用控件之前將所用到的控件生成到該程序目錄下,完成控件從可執(zhí)行文件中的金蟬脫殼。具體做法如下:第一步:將要用到的控件拷貝到當前工程目錄下,右鍵單擊該控件,選擇屬性,記下文件大小。 注意,應記下以字節(jié)為單位的具體數(shù)字,而不是多少K,以備編程使用。第二步:引用并

2、正常使用該控件。第三步:新建資源文件加入工程,在資源文件編輯器中添加所使用的第三方控件為自定義資源(CUSTOM ),資源號使用默認的101。如果使用了多個控件則分別添加到資源文件的101、102資源項中,脫殼代碼也要作相應的修改。第四步:編寫控件脫殼代碼,使其讀取資源文件的數(shù)據(jù),在程序當前目錄下生成控件。說一下如何加載資源吧:外接程序-> 外接程序管理器->VB 6 Resource Editor 加載-> 在工具欄里會多一個按鈕 點擊它。然后就如下面的圖,點擊紅色圓圈部分,就可以加載custom 資源了。¥B Resource Iditar - E : 

3、5;B學牙中的工程'屏保程序'屏保程序.®代碼如下:Private Const OCXSIZE198456'欲生成的控件大小是 198456Byte, 名字為 MCI32.OCXSub Mai n()Dim Ocx() As Byte 'OCX 是個 BTye 類型的數(shù)組Dim Counter As LongOcx = LoadResData(101, "CUSTOM")'將自定義資源中 101號資源讀入數(shù)組 OCX'注意,微軟的幫助中對加載自定義資源的說明有錯誤,自定義資源標識為"CUSTOM"

4、而不是幫助所說的數(shù)字10If Right(App.Path, 1) = "( $%$43%#ASD#2$#f$%A)" Then '讀取程序所在路徑,判斷是否為根目錄并分別處理'程序在根目錄下If Dir(App.Path& "MCI32.OCX") = "" Then '程序路徑下有無控件,無則生成控件'以二進制方式寫(生成)控件( CoolToolBar.ocx )到主程序所在的目錄Ope n App.Path & "MCI32.OCX" For Bin ary

5、As #1For Counter= 0 To OCXSIZE - 1 '注意因為從 0 Byte 開始因此以文件大小-1Byte 為 終值Put #1, Ocx(Counter)Next CounterClose #1End IfElse'程序不在根目錄下If Dir(App.Path & "MCI32.OCX") = "" Then '程序路徑下有無控件 , 無則生成控件' 以二進制方式寫(生成)控件( CoolToolBar.ocx )到主程序所在的目錄Open App.Path & "MCI32.OCX" For Binary As #1For Counter = 0 To OCXSIZE - 1 ' 注意因為從 0 Byte 開始因此以文件大小 - 1Byte 為 終值Put #1, , Ocx(Counter)Next CounterClose #1End IfEnd IfForm1.Visible = True ' 主程序所用控件已經(jīng)生成,顯示主窗體,進入主程序。End Sub注意:將以上代碼作為一個模塊添加到工程中,并在工程 - 工程屬性設置中將啟動對象選為 Sub Main, 即上面的脫殼代碼。然后編譯生成 EXE

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論