我将二进制文件(扩展名为.xdt)加入资源文件中,用LoadResData函数调用,
Open LoadResData(114, "CUSTOM") For Binary As #1
。。
运行时报“文件未找到”,
Open LoadResData(114, 10) For Binary As #1
。。
运行时报“标志为114的资源文件未找到”
请问如何使用资源文件中的二进制文件?

解决方案 »

  1.   

    Option Explicit
    '在外接程序中调入VB资源文件编辑器
    '单击加入自定义文件图标,选择要加入的程序,注意程序不要大于64k(否则你拆开你程序,分别加入,然后在合成)
    Private Sub Command1_Click()
       Dim bytData() As Byte
       bytData = LoadResData(101, "custom")
       Open App.Path + "\aaa.exe" For Binary As #1
         Put #1, , bytData
       Close #1
       
       Shell App.Path + "\aaa.exe", vbNormalFocus
       
    End Sub以上的是抄的,凑合看吧  :)
      

  2.   

    呵呵:)VB资源使用技巧(二)
    三、如何显示资源中的GIF文件
      VB 5.0的Picture Box可以显示GIF和JPEG图象,但是由于GIF资源不是Windows的标准资源,所以不能使用LoadResPicture的办法来调入GIF图象。如果要解决这个问题,需要先将GIF资源写到一个临时文件,然后用LoadPicture显示文件,最后再删除掉磁盘上的临时文件。我们假定资源文件如下:102 GIF about.gif----
    你可以用这样的语句来实现: SaveFileFromRes(102, "GIF", "C:\about.gif")
    Picture1.picture = LoadPicture("C:\about.gif")
    Kill "C:\about.gif"  这里的C:\about.gif只是一个例子,在实际编程可以用Windows API的GetTempFileName来生成临时文件名(但GetTempFileName生成的临时文件扩展名为.tmp,需改为.gif)。这里的SaveFileFromRes函数来完成写临时文件的工作,具体代码如下:
    Public Function SaveFileFromRes(vntResourceID As Variant,
    sType As String, sFileName As String) As Boolean'注意:函数:SaveFileFromRes可从AskPro.yeah.net下载'
    目的: 从资源文件调入自定义资源,然后写入磁盘上的文件'
    '返回值: 如果没有错误为True,否则为False '
    '注意: sType 必须同资源文件的定义相同(包括大小写)! '
    ' 假定sFilename是合法的,可写的'    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
    还有啊,这个方法不但适用于GIF文件,也适用于其它类型的文件,很不错的哟。 
      

  3.   

    Private Sub Command1_Click()
       Dim bytData() As Byte
       bytData = LoadResData(101, "custom")
       Open App.Path + "\aaa.exe" For Binary As #1
         Put #1, , bytData
       Close #1
       
       Shell App.Path + "\aaa.exe", vbNormalFocus
       
    End Sub