pywin32
客户端 COM 的文档显示了这种实例化 COM 对象的基本方法:
obj = win32com.client.Dispatch("<ProgID>")
我正在尝试使用PersistentZoneIdentifier
类似于操作区域标识符以指定文件从何处下载的工作 - The Old New Thing - MSDN blogs。该类,如注册表HKEY_CLASSES_ROOT\CLSID\{0968e258-16c7-4dba-aa86-462dd61e31a3}
所示,没有对应的ProgID
.
我看到有一个底层pythoncom.CoCreateInstance
函数接受一个CLSID
实例化和一个IID
显然从中查询的函数。
但这很不方便,因为我必须使用难以理解的 GUID 而不是人类可读的名称。
问题是:
- /underlying WinAPI 中是否有一种
pywin32
按名称查找上述 GUID 的常用方法?(不建议手动搜索注册表) - 或者也许有其他方法可以用名称实例化该对象?
我尝试过但失败了:win32com.client.IDispatch(<class/interface name>)
,pythoncom.IID(<class/interface name>)
。当然,还查看了 Net、MSDN 和 PyWin32 文档。