A. vb.net載入嵌入式資源(DLL,自定義資源)
很簡抄單,點擊菜單「項目」-->「WindowsApplication1屬性」
B. 怎樣在vb中添加資源文件.res
按圖示操作即可。
添加後點擊保存就行了。
如果沒看到這個圖標,點外接內程序容--外接程序管理器在打開的對話框里點「VisualBasic6資源編輯器」再把「載入/卸載」打上勾就有了。
如果沒有找到「VisualBasic6資源編輯器」說明你的VB是精簡版的。必須下載完整的版本才行。
==================================================
所謂資源文件其實就是在生成的EXE文件的最後部分寫入你添加的圖片、文本等等一系列資源,運行時,你的程序就可以讀取這些東西。
如果從文件讀取的話,你就必須在提供EXE文件的同時提供你要讀取的文件,而用資源文件,你就可以只有一個EXE文件了。
C. VB中如何調用資源文件
VB資源文件的多種使用技巧2009-06-18 10:13一、 開發中英(簡、繁)雙版本
現在比較流行的軟體都會有中文版、英文版、繁體版等等多個版本,並可以根據系統的語言自動顯示相適應的版本,那麼這個功能在 VB 是如何實現得呢的:
1、 首先通過 API 函數GetSystemDefaultLCID 判斷系統的語言
Option Explicit
Dim lang As String
Private Declare Function GetSystemDefaultLCID Lib "kernel32" () As Long
Private Sub Form_Load()
Dim LocaleID As Long
LocaleID = GetSystemDefaultLCID
Select Case LocaleID
Case &H404
MsgBox "當前系統為:中文繁體", , "語言"
Case &H804
MsgBox "當前系統為:中文簡體", , "語言"
lang = "1"
Case &H409
MsgBox "當前系統為:英文", , "語言"
lang = "2"
End Select
End Sub
2、然後程序就可以載入保存在資源文件(這里我們就是使用的這種方法)、注冊表、INI 文件、文本文件或其他文件中的各類字元串,以達到達到實現多種語言的目的。
⑴啟動 VB6.0,在「外接程序→外接程序管理器」中載入「Visual Basic 6 資源編輯器」
⑵在 VB 資源編輯器窗口中,點擊「編輯字元串表格」輸入如下資料:
標識號 中文(中國)
101 例子
102 中文
103 英文
201 Ensample
202 Chinese
203 English
⑶保存資源文件,寫如下代碼:(自定義裝載字元的函數 LoadString)
Sub LoadString()
Me.Caption = LoadResString(Int(lang & "01"))
Command1(0).Caption = LoadResString(Int(lang & "02"))
Command1(1).Caption = LoadResString(Int(lang & "03"))
End Sub
⑷怎麼樣一個簡單的中英雙版本的程序就做出來了,如果把 lang 的值設置為 1,則顯示中文,如果把 lang 的值設置為 2,則顯示英文。
二、 實現「綠色」軟體
現在非常流行「綠色」軟體,不需要什麼安裝程序只要一個 EXE 文件就可以運行程序
了,而在 VB 的編程中有許多地方需要調用第三方的控制項(很難用 API 函數搞定所有的功能),這就需要製做一個安裝程序,把所需要的控制項、DLL 文件或其他文件打包進去了,那麼在 VB 中怎麼用變通的方法實現「綠色」軟體呢,請看:
示例:
1、主程序.EXE
用 VB6.0 編寫的程序,調用了 Winsock 控制項,如果在沒有安裝 VB5.0、6.0 的機器上運行則會出現錯誤,導致程序運行失敗,這時如果按一般的方法,只有把這個程序用 VB5.0、6.0 的安裝程序進行打包,不然只有用用2的方法來解決了。
2、注冊程序.EXE
用 VB6.0 編寫的程序,使用資源文件的方法,把 Winsock 控制項封裝到本程序中,在運行主程序.EXE之前,先運行本程序,通過 API 函數 GetSystemDirectory 取得系統的 Winddows\System 的目錄,然後把 Winsock 控制項復制到該目錄下,並用 Shell 來完成控制項的注冊。
⑴啟動 VB6.0,在「外接程序→外接程序管理器」中載入「Visual Basic 6 資源編輯器」
⑵在 VB 資源編輯器窗口中,點擊「添加自定義資料」,增加 Winsock 控制項(C:\Winddows\System\nsck.ocx),再雙擊剛剛創建的自定義資源,彈出」編輯屬性」窗口,定義如下:
類型: 「OCX」
標識號: 101
語言: 中文(中國)
⑶保存資源文件,寫如下代碼:
Option Explicit
Private Declare Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
Const MAX_PATH = 260 注釋:定義足夠長的字元串
Private Sub Form_Load()
Dim TempFile() As Byte
Dim FileNum As Integer
Dim TempDir As String
TempDir = GetWinSysDir 注釋:自定義函數取得系統的 Winddows\System 的目錄
TempFile = LoadResData(101, "OCX") 注釋:用以從資源 (.res) 文件裝載若干可能類型的數據,並返回一個 Byte 數組
FileNum = FreeFile
Open TempDir & "\nsck.ocx" For Binary Access Write As #FileNum 注釋:新建文件(把 Winsock 控制項復制到指定目錄下)
Put #FileNum, , TempFile
Close #FileNum
注釋:Shell "regsvr32 " & TempDir & "\nsck.ocx ", vbNormalFocus 注釋:注冊控制項,有彈出對話框
Shell "regsvr32 " & TempDir & "\nsck.ocx /s", vbNormalFocus 注釋:注冊控制項,無彈出對話框
MsgBox "注冊成功,現在本程序可正常運行了!!", vbOKOnly, "注冊控制項"
Unload Me
End Sub
Public Function GetWinSysDir() 注釋:定義讀取Winddows\System 的所在目錄的函數
Dim S As String, Length As Long
S = String(MAX_PATH, 0) 注釋:賦值
Length = GetSystemDirectory(S, MAX_PATH) 注釋:S為取得目錄,MAX_PATH 為長度
S = Left(S, InStr(S, Chr(0)) - 1) 注釋:去掉多餘的空格
GetWinSysDir = S
End Function
注釋:補充:S 和 MAX_PATH 的值是可以隨便賦的,
注釋:如: Dim S As String * 20
注釋: Length = GetSystemDirectory(S, 20)
3、補充說明
在用 VB6.0 保存上述兩個程序後,請再使用 VB5.0 重新打開這兩個程序,並編譯為主程序.EXE、注冊文件.EXE。(用 VB5.0 編譯的程序,在 Win98、2000 下不需要任何 DLL 文件)
程序運行
4、程序運行
將主程序.EXE、注冊文件.EXE兩個文件,復制到任意機器上,先運行注冊文件.EXE注冊第三方的控制項,再運行主程序.EXE,就不會有任何的錯誤了,一個變通的「綠色」軟體就完成了。
三、 直接播放EXE文件中的聲音文件
使用資源文件,可以直接在在EXE文件中播放聲音文件(WAV文件),使程序顯得更加專業。
⑴啟動 VB6.0,在「外接程序→外接程序管理器」中載入「Visual Basic 6 資源編輯器」
⑵在 VB 資源編輯器窗口中,點擊「添加自定義資料」,增加任意的 WAV 文件,再雙擊剛剛創建的自定義資源,彈出」編輯屬性」窗口,定義如下:
類型: "WAVE"
標識號: 102
語言: 中文(中國)
⑶保存資源文件,寫如下代碼:
Option Explicit
Private Declare Function GetSystemDefaultLCID Lib "kernel32" () As Long
Private Declare Function sndPlaySoundFromMemory Lib "winmm.dll" Alias "sndPlaySoundA" (lpszSoundName As Any, ByVal uFlags As Long) As Long
Public Const SND_ASYNC = &H1&
Public Const SND_MEMORY = &H4&
Private Sub Command5_Click() 注釋:播放 WAV 文件
Dim bArr() As Byte
bArr = LoadResData(102, "WAVE")
sndPlaySoundFromMemory bArr(0), SND_ASYNC Or SND_MEMORY
End Sub
⑷按 F5 運行本程序,點擊 Command 按鈕,就可以聽到你選定的 WAV 文件的聲音了。
四、 直接調用各類圖標、游標圖片
在一個程序中,我們可能需要調用多個圖標、游標、圖片文件,一般來說我們主要是使用 ImageList 控制項,不過其時使用資源文件是最好的方法(可以少使用一個控制項呀)。
⑴啟動 VB6.0,在「外接程序→外接程序管理器」中載入「Visual Basic 6 資源編輯器」
⑵在 VB 資源編輯器窗口中,點擊「添加游標」,「添加圖標」,「添加點陣圖」,裝載所需要的文件。
⑶程序代碼如下:
Me.Icon = LoadResPicture(101, vbResIcon) 注釋:載入圖標
Picture1.Picture = LoadResPicture(101, vbResBitmap) 注釋:載入點陣圖
Command1.MouseIcon = LoadResPicture(101, vbResCursor) 注釋:載入游標
五、到此為此資源文件的多種使用技巧全部介紹完畢,希望這些技巧對大家的編程有幫助,上述程序全部在 Win98、VB5.0或6.0下運行通過
---------------------------------------------------
對「如何製作和利用資源文件」的補充
「一、 開發中英(簡、繁)雙版本」的方法可以使用,更簡單實用的方法:
把不同語言文字放在同一個標識號ID對應的不同字元串表格中即可.
VB 會自動實現多種語言轉換!
本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/mini_pray/archive/2006/11/16/1388753.aspx
D. VB.Net如何導入資源文件
Me.TextBox1.Text = My.Resources.Resource1.TextFile1
E. VB.net如何調用資源文件(resx)里的圖片
放在解決方案資源管理器還沒完。進入項目屬性,資源,把解決方案資源管理器里的資源文件拖進來,改個便於調用的名稱,然後My.Resources裡面就可以調用了。如果是VS可以識別的,那麼就直接是Bitmap類型的,可以隱式轉換成Image類型。