自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

怎樣將OCX植入VB.NET執(zhí)行文件內(nèi)

開發(fā) 后端
這里就VB.NET執(zhí)行文件具體做法作出了詳細的介紹和對找到第三方控件的通常的兩個方法的詳細解釋,希望大家可以從中得到收獲。

在VB中怎么樣很好的使用第三方控件呢?在工作中我積累了許多經(jīng)驗,這里我們來談談關于第三方控件的理解,讓大家在以后的編程中更方便。但是使用第三方控件也有不好的地方,那就是為了保證程序正常運行,必須使程序能夠在系統(tǒng)目錄或程序目錄下找到所用的第三方控件。要做到這一點通常有兩種辦法:一是把控件和程序制成一個壓縮包發(fā)行,這樣的缺點是有可能導致在程序傳播過程中丟失控件文件。二是制作安裝程序,缺點是制作過程煩瑣。而且上面兩種辦法也不符合綠色軟件的要求。所謂的綠色軟件是指軟件只有單個可執(zhí)行文件且無須安裝,目前很受用戶歡迎。那么有沒有辦法在使用了第三方控件的情況下實現(xiàn)綠色軟件夢呢?答案是有。

#T#做法是,將第三方控件以自定義資源文件方式保存在程序中,程序運行之后使用控件之前將所用到的控件生成到該程序目錄下,完成控件從VB.NET執(zhí)行文件中的金蟬脫殼。

VB.NET執(zhí)行文件具體做法如下:

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

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

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

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

代碼如下:

  1. Private Const OCXSIZE = 57344 '欲生成的控件大小是57344Byte,名字為CoolToolBar.ocx  
  2.  
  3. Sub Main()  
  4. Dim Ocx() As Byte 'OCX是個Btye類型的數(shù)組  
  5. Dim Counter As Long  
  6. Ocx = LoadResData(101, "CUSTOM") '將自定義資源中101號資源讀入數(shù)組OCX  
  7. '注意,微軟的幫助中對加載自定義資源的說明有錯誤,自定義資源標識為"CUSTOM"而不是幫助所說的數(shù)字10  
  8.  
  9. If Right(App.Path, 1) = "($%$43%^#ASD#2@$#f$%^) Then '讀取程序所在路徑,判斷是否為根目錄并分別處理  
  10. '程序在根目錄下  
  11. If Dir(App.Path & "CoolToolBar.ocx") = "" Then '程序路徑下有無控件,無則生成控件  
  12. '以二進制方式寫(生成)控件(CoolToolBar.ocx)到主程序所在的目錄   
  13. Open App.Path & "CoolToolBar.ocx" For Binary As #1   
  14. For Counter = 0 To OCXSIZE - 1 '注意因為從0 Byte開始因此以文件大小 - 1Byte 為終值  
  15. Put #1, , Ocx(Counter)  
  16. Next Counter  
  17. Close #1  
  18. End if   
  19. Else  
  20. '程序不在根目錄下  
  21. If Dir(App.Path & "\CoolToolBar.ocx") = "" Then '程序路徑下有無控件,無則生成控件  
  22. '以二進制方式寫(生成)控件(CoolToolBar.ocx)到主程序所在的目錄   
  23. Open App.Path & "\CoolToolBar.ocx" For Binary As #1  
  24. For Counter = 0 To OCXSIZE - 1 '注意因為從0 Byte開始因此以文件大小 - 1Byte 為終值  
  25. Put #1, , Ocx(Counter)  
  26. Next Counter  
  27. Close #1  
  28. End if  
  29. End if  
  30. Form1.Visible = True '主程序所用控件已經(jīng)生成,顯示主窗體,進入主程序。  
  31. End Sub    

注意:將以上代碼作為一個模塊添加到工程中,并在工程-工程屬性設置中將啟動對象選為Sub Main,即上面的脫殼代碼。然后編譯生成EXE文件,將該EXE文

責任編輯:田樹 來源: 博客
相關推薦

2009-10-29 17:01:03

VB.NET TXT文

2009-11-02 12:35:10

VB.NET追加文件

2009-10-29 15:16:02

VB.NET文件傳送

2009-10-28 13:03:54

2010-01-14 15:15:22

VB.NET數(shù)據(jù)行處理

2010-01-19 17:03:25

VB.NET可執(zhí)行語句

2010-01-21 16:17:32

VB.NET文件對象

2009-10-28 13:24:25

VB.NET文件

2010-01-20 13:42:10

VB.NET訪問INIGetPrivateP

2009-11-02 09:21:04

VB.NET文件系統(tǒng)

2009-10-29 15:02:04

VB.NET文件排序

2010-01-15 19:04:09

2009-10-29 15:28:38

VB.NET文件操作

2009-10-29 14:02:24

VB和VB.NET比較

2010-01-14 11:00:48

VB.NET文件合并

2010-01-12 09:51:07

VB.NET操作dbf

2010-01-18 16:33:57

VB.NET加密文件

2010-01-12 17:02:54

VB.NET文件上傳

2009-11-02 10:53:34

VB.NET INI文

2011-06-17 11:05:22

VB.NET
點贊
收藏

51CTO技術棧公眾號