【问题描述】如何查看DLL的以下信息?
库名、类名、GUID(全局唯一标识符)、方法名列表、属性名列表
【小千解答】以查看scrrun.dll为例,借助TLBINF32.DLL的TypeLibInfoFromFile方法。
在VBA编辑界面,依次单击【视图】→【本地窗口】,再按【Ctrl+G】显示“立即窗口”,然后编写如下代码,两次运行。
Sub xqoffice() Dim TLI As Object Set TLI = CreateObject("TLI.TliApplication") Set xqDLL = TLI.TypeLibInfoFromFile("C:\Windows\SysWOW64\scrrun.dll") Stop Debug.Print "库名:" & xqDLL.Name Debug.Print "类名清单:" For Each Cls In xqDLL.CoClasses Debug.Print Cls.Name Next Cls Debug.Print "第一个类的相关信息:" With xqDLL.CoClasses(1) Debug.Print "名称:" & .Name Debug.Print "GUID:" & .GUID Debug.Print "方法:" For Each Mem In .DefaultInterface.Members If Mem.InvokeKind = 1 Then 'INVOKE_FUNC Debug.Print Mem.Name End If Next Mem Debug.Print "属性:" For Each Mem In .DefaultInterface.Members If Mem.InvokeKind = 2 Then 'INVOKE_PROPERTYGET Debug.Print Mem.Name End If Next Mem End With End Sub
首次运行后,“本地窗口”显示如下:
继续运行后,结果如下:
【参考资料】