如题。
  一般我会用VC提取EXE或DLL中的资源,而VC和Delphi生成的EXE文件都能成功的
提取。今天我用VB作了一个位图按钮,试着提取该程序的位图资源,除了看到应用
程序图标Icon和String以外,再没有任何资源可以看到。
  请问高手,我该如何提取VB中的资源?VB与一般的Window程序生成的Exe文件
有何不同?

解决方案 »

  1.   

    VB中的位图不是按照标准的Windows资源的方法保存的,如果你需要VB中的资源可以被其它程序共享,你需要首先将位图放到一个res文件中,然后将文件添加到VB工程中,并且使用LoadResPicture 方法将资源文件中的位图加载到PictureBox中。
      

  2.   

    用以从资源 (.res) 文件装载位图、图标或光标。语法LoadResPicture(index, format)LoadResPicture 函数的语法包含下列部分:部分 描述 
    index 必需的。一个整数或字符串,它用来指定资源文件中数据的标识符 (ID) 。ID标识符为 1 的资源保留给应用程序的图标。 
    format 必需的。一个数值或常数,如下列“设置值”中所描述的,指定返回数据的格式。 
    设置值用于 format 的设置值有: 常数 值 描述 
    vbResBitmap 位图 0 位图资源 
    vbResIcon 图标 1 图标资源 
    vbResCursor 2 光标资源 
    说明可以使用 LoadResPicture 函数代替对存储在 Form 或控件的 Picture 属性中的图形的引用。将位图、图标或光标存储在资源文件中并从该资源文件对它们进行访问能改进装载时间,这是因为可以根据需要从资源文件单独装载,而不是在装载 Form 时一并全部装载。LoadResPicture 的使用对于 Visual Basic 应用程序的本地化有好处,这是因为需要翻译的资源在一个资源文件中被隔离,并且无须访问源代码或重新编译该应用程序。 
      

  3.   

    谢谢!
    我已经找到解决方法。使用VBExplorer,一个反编译VB程序的应用程序,可以将VB中的资源提取出来。不过VB.net编写的应用程序用此法好像不行。