關于VB.NET資源文件問題解答
大家來看看我在程序中遇到的問題吧。也許你也能遇到的,我想在自已的程序中包含一個可執行文件或數據文件,以便程序運行時在需要的時候能釋放到某個目錄里,我嘗試使用VB資源文件的LoadResData,先在VB的資源編輯器里加入一個自定義資源,標號為101,選擇自己想要的數據文件,然后在程序里使用 LoadResData 101,10 來定位這段自定義的資源文件,可是程序總是告訴我找不到標號為101的資源,我想了半天也不明白是怎么回事?如果不行有沒有另的方便可行的辦法?請高手指點!
以下是MSDN中查到的有關LoadResData用法資料:
VB.NET資源文件語法:
- LoadResData(index, format)
VB.NET資源文件LoadResData的用法
部分 描述
index 必需的。一個整數或字符串,它用來指定資源文件中數據的標識符 (ID)。ID 標識符為 1 的資源保留給應用程序的圖標。
Format 必需的。一個數值,它用來按照下列“設置值”中的描述,指定返回數據的原始格式。該數值也可以是用戶定義資源的字符串名。
VB.NET資源文件設置值,用于 format 的設置值有:
設置 描述
1 光標資源
2 位圖資源
3 圖標資源
4 菜單資源
5 對話框
6 字符串資源
7 字體目錄資源
8 字體資源
9 加速鍵表
10 用戶定義資源
12 群組光標
14 群組圖標
哦,剛才在網上看到了一個函數,問題解決了
- Public Function SaveFileFromRes(vntResourceID As Variant, sType As String, sFileName As String) As Boolean
- Dim bytImage() As Byte ' Always store binary data in byte arrays!
- Dim iFileNum As Integer 'Free File Handle
- On Error GoTo SaveFileFromRes_Err
- SaveFileFromRes = True
- 'Load Binary Data from Resource file
- bytImage = LoadResData(vntResourceID, sType)
- 'Get Free File Handle
- iFileNum = FreeFile
- 'Open the file and save the data
- Open sFileName For Binary As iFileNum
- Put #iFileNum, , bytImage
- Close iFileNum
- Exit Function
- SaveFileFromRes_Err:
- SaveFileFromRes = False: Exit Function
- End Function
【編輯推薦】