pywin32
文档显示了实例化COM对象的基本方法:
obj = win32com.client.Dispatch("<ProgID>")
我尝试使用类似于Manipulating the zone identifier to specify where a file was download from – The Old New Thing - MSDN blogs的PersistentZoneIdentifier
。正如HKEY_CLASSES_ROOT\CLSID\{0968e258-16c7-4dba-aa86-462dd61e31a3}
所示的注册表所示,该类没有相应的ProgID
。
我发现有一个基础pythoncom.CoCreateInstance
函数接受CLSID
实例化,IID
显然从中查询。
但这很不方便,因为我必须使用难以理解的GUID而不是人类可读的名称。
问题是:
pywin32
/底层WinAPI中是否存在通过名称查找上述GUID的库存方式? (不建议手动搜索注册表) <子>
我尝试过但失败了:win32com.client.IDispatch(<class/interface name>)
,pythoncom.IID(<class/interface name>)
。当然,还要查看Net,MSDN和PyWin32文档。
子>
答案 0 :(得分:0)
没有,也不可能是任何股票机制&#34;通过名称实例化类/查询接口,因为与GUID不同,它们的名称不能保证唯一。