如何在不制作本地副本的情况下使用嵌入式资源来复制文件?

时间:2012-02-19 12:49:39

标签: vb6 embedded-resource

如果您的VB6项目中有一个包含二进制文件的嵌入式资源,那么什么代码会导致将该文件复制到另一个位置,而不会在本地系统上复制该文件?

我之前在.NET中做过类似的事情,但我担心在VB6中这是不可能的。

1 个答案:

答案 0 :(得分:0)

来自http://support.microsoft.com/kb/q194409/

 Public Function SaveResItemToDisk( _
                ByVal iResourceNum As Integer, _
                ByVal sResourceType As String, _
                ByVal sDestFileName As String _
                ) As Long
        '=============================================
        'Saves a resource item to disk

    'Returns 0 on success, error number on failure
    '=============================================

    'Example Call:
    ' iRetVal = SaveResItemToDisk(101, "CUSTOM", "C:\myImage.gif")

    Dim bytResourceData()   As Byte
    Dim iFileNumOut         As Integer

    On Error GoTo SaveResItemToDisk_err

    'Retrieve the resource contents (data) into a byte array
    bytResourceData = LoadResData(iResourceNum, sResourceType)

    'Get Free File Handle
    iFileNumOut = FreeFile

    'Open the output file
    Open sDestFileName For Binary Access Write As #iFileNumOut

        'Write the resource to the file
        Put #iFileNumOut, , bytResourceData

    'Close the file
    Close #iFileNumOut

    'Return 0 for success
    SaveResItemToDisk = 0

    Exit Function
SaveResItemToDisk_err:
    'Return error number
    SaveResItemToDisk = Err.Number
End Function