使用Python从ActiveX COM DLL中提取GUID

时间:2014-09-02 21:14:43

标签: python dll com activex guid

如何以跨平台方式仅使用Python提取ActiveX COM DLL的GUID?

我遇到了pythoncom pywin32。它有一个LoadTypeLib函数可以做到这一点:

import pythoncom
dll = pythoncom.LoadTypeLib("C:\\path\to\\my.dll")
print str(dll.GetLibAttr()[0])

这比依赖外部CLI应用程序的当前解决方案更好,但是跨平台解决方案会更好,因为我不相信pywin32可以轻松地安装在Linux CI上。

1 个答案:

答案 0 :(得分:0)

我最终使用了精彩的comtypes包:

from comtypes.typeinfo import LoadTypeLibEx
lib = LoadTypeLibEx("C:\\path\to\\my.dll")
print lib.GetLibAttr().guid

代码实际上是一样的;它从LoadTypeLib字面上调用相同的OleAut32,因此它仅限Windows,但comtypes可通过pip安装,这使得分发更容易。