我正在尝试实现操作区域标识符以指定文件的下载位置——旧的新事物——Python 中的 MSDN 博客。
在CoCreateInstance
:
pythoncom.CoCreateInstance(
pywintypes.IID('{0968e258-16c7-4dba-aa86-462dd61e31a3}'), #CLSID_PersistentZoneIdentifier
None,pythoncom.CLSCTX_ALL,
pywintypes.IID('{cd45f185-1b21-48e2-967b-ead743a8914e}')) #IID_IZoneIdentifier
我收到一个错误:
TypeError: There is no interface object registered that supports this IID
(没有堆栈跟踪,因为这是一个扩展功能)
如果我用or替换IZoneIdentifier
IID ,它可以工作,但是具有正确 IID 的 a 会失败并出现相同的错误。pythoncom.IID_IUnknown
pythoncom.IID_IPersistFile
QueryInterface
事实上,在 中HKCR\Interface
,我什么都没有IZoneIdentifier
看到,但确实看到了IPersistFile
。
disassembledurlmon.dll
后,我看到它确实实现了接口,但没有在它的DllRegisterServer
. 进一步搜索,我看到它IPersistFile
正在被注册ole32.dll
- 但不是IZoneIdentifier
.
MSDN记录了这个接口从 IE6 开始可用。但它在 IE7 或 IE8 中都不存在。由于这是 XP(并且据称包含所有更新),因此我没有其他可尝试的方法。
同样,该接口存在于urlmon.h
MSDN 文章中提到的文件中的 Windows SDK 7.0 中。
问题是:
- 这个界面是否默默地放弃了,而没有 MSDN 反映这一点或其他什么?或者,这是一个已知问题吗?以后版本的 IE 可以用吗?
- 哪些组件具有哪些功能
ole32.dll
和urlmon.dll
相关(因此我可以尝试(卸载)为它们安装更新)?