关于VB.NET资源文件问题解答

大家来看看我在程序中遇到的问题吧。也许你也能遇到的,我想在自已的程序中包含一个可执行文件或数据文件,以便程序运行时在需要的时候能释放到某个目录里,我尝试使用VB资源文件的LoadResData,先在VB的资源编辑器里加入一个自定义资源,标号为101,选择自己想要的数据文件,然后在程序里使用   LoadResData 101,10   来定位这段自定义的资源文件,可是程序总是告诉我找不到标号为101的资源,我想了半天也不明白是怎么回事?如果不行有没有另的方便可行的办法?请高手指点!

以下是MSDN中查到的有关LoadResData用法资料:

VB.NET资源文件语法:

 
 
 
  1. 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 群组图标

哦,刚才在网上看到了一个函数,问题解决了

 
 
 
  1. Public Function SaveFileFromRes(vntResourceID As Variant, sType As String, sFileName As String) As Boolean  
  2. Dim bytImage() As Byte ' Always store binary data in byte arrays!  
  3. Dim iFileNum As Integer 'Free File Handle  
  4. On Error GoTo SaveFileFromRes_Err  
  5. SaveFileFromRes = True 
  6. 'Load Binary Data from Resource file  
  7. bytImage = LoadResData(vntResourceID, sType)  
  8. 'Get Free File Handle  
  9. iFileNum = FreeFile 
  10. 'Open the file and save the data  
  11. Open sFileName For Binary As iFileNum  
  12. Put #iFileNum, , bytImage  
  13. Close iFileNum  
  14. Exit Function  
  15. SaveFileFromRes_Err:  
  16. SaveFileFromRes = False: Exit Function  
  17. End Function  

【编辑推荐】

  1. 详细分析VB.NET WithEvents
  2. 浅析VB.NET局部静态变量
  3. 原理分析VB.NET开发控件
  4. 自己动手用代码实现VB.NET ListView加载数据
  5. 详细介绍VB.NET MyClass
THE END