从.res中提取字符串

时间:2015-03-12 17:14:45

标签: string vb6 resource-file

我有很多带有.res文件的vb6项目,里面有一些字符串。 我必须创建另一个vb6项目来提取它们。

我尝试使用

hModule = LoadLibraryEx("c:\project\CGUO_SPESOMETRO.Res", _
                            0&, LOAD_LIBRARY_AS_DATAFILE)

但它不起作用,因为LoadLibraryEx仅加载.dll文件

我该怎么办?

由于

1 个答案:

答案 0 :(得分:1)

这从嵌入在exe中的资源中提取文本文件/字符串(它从文本文件中创建菜单)。

注意VB不能生成这种类型的资源。我使用 ResHacker 将资源添加到VB生成的Res文件中。

Private Sub mnuInsertCharacterMenu_Click(Index As Integer)
    Dim MenuItems() As String
    Dim MenuItem() As String
    Dim Characters() As String
    Dim Temp As String
    Dim Table() As Byte
    Dim X As Long
    Table() = LoadResData(102, 10)
    Temp = StrConv(Table(), vbUnicode)
    Temp = Replace(Temp, vbLf, "")
    MenuItems() = Split(Temp, vbCr)
    MenuItem = Split(MenuItems(Index), vbTab)
    Characters() = Split(MenuItem(1), Chr(44))
    For X = LBound(Characters()) To UBound(Characters())
        If Val(Characters(X)) > 255 Then
            MsgBox "Sorry no unicode this version. It included as this is test software and as far as possible it uses the unicode version's source files."
                Else
            txtNote.SelText = Chr(Val(Characters(X)))
        End If
    Next
End Sub

PS :关于你的res文件,添加到一个新的VB项目和一个带有Sub Main的空白模块,并编译为DLL。