如何返回某DLL中的字符串资源[已解决]
本帖最后由 辣椒龙 于 2010-8-20 19:50 编辑用ResHacker可以看到这些资源,以字符串形式保存于DLL之中,我知道它们的索引号。
有没有方法能像GUICtrlSetImage那样提供个DLL文件路径,索引号,就能读到这些字符串资源呢? 不是很喜欢用 Extras\OtherEXE 目录下的 ResHacker.exe 觉得它体积太大了…… DLLCall试过么?
http://www.autoitx.com/Doc/html/functions/dllcall.htm 看到过:$LoadBitmap = DllCall("User32.dll", "hwnd", "LoadBitmap", "hwnd", $LoadLibraryA, "str", $sBitmap)
但是不知道我要用什么入口函数名……
还望楼上同学指点一二! LoadString 多谢楼上,选来选去,还是选了 WinAPI.au3 中的 _WinAPI_LoadString
摘录一个简单的例子: $hInstance = _WinAPI_LoadLibraryEx("shell32.dll", $LOAD_LIBRARY_AS_DATAFILE)
If $hInstance Then
$sText = _WinAPI_LoadString($hInstance, GUICtrlRead($hInput));GUICtrlRead($hInput)是资源序号
If Not @error Then
MemoWrite('获取的字符串(字符 : ' & @extended & '): ' & @CRLF & $sText)
Else
MemoWrite("最后一个错误信息 : " & @CRLF & _WinAPI_GetLastErrorMessage())
EndIf
MemoWrite(@CRLF & "成功释放了吗? " & _WinAPI_FreeLibrary($hInstance))
EndIf
页:
[1]