使用Python从ActiveX COM DLL中提取GUID



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

我遇到了pythoncom,它与pywin32一起提供。它有一个LoadTypeLib功能,可以做到这一点:

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

这比我目前依赖外部CLI应用程序的解决方案要好,但跨平台解决方案会更好,因为我认为pywin32无法轻松安装在Linux CI上。

我最终使用了出色的comtypes包:

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

代码实际上是相同的;它实际上从OleAut32调用了相同的LoadTypeLib,所以它只是Windows,但comtypes可以通过pip安装,这使得分发更容易。

相关内容

  • 没有找到相关文章

最新更新