0

我有许多带有 .res 文件的 vb6 项目,其中包含一些字符串。我必须创建另一个 vb6 项目来提取它们。

我试着用

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

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

我能怎么做?

谢谢

4

1 回答 1

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。

于 2015-03-13T21:38:50.627 回答