【发布时间】:2020-04-17 12:19:55
【问题描述】:
在Raymond 的demonstration 中,他首先获得了IWebBrowser2(或技术上的IWebBrowserApp),然后使用QueryService 到达SID_STopLevelBrowser。我想知道是否有人可以从概念上解释这两件事是什么以及它们之间的关系。一个在资源管理器窗口中的另一个里面吗?感谢您提供任何信息。
【问题讨论】:
-
现在您应该知道 IServiceProvider 的用途了:stackoverflow.com/questions/59432866/… 和 SID_STopLevelBrowser(古老的知识)记录在旧的 Microsoft 知识库文章(Q257717“如何从 ActiveX 控件中检索顶级 IWebBrowser2 接口”中") 现在已经没有了,但是你可以在 Wayback 机器上找到:web.archive.org/web/20140417005545/https://…
-
那么实际上有两个
IWebBrowser2s?我不明白。你能解释一下对象的层次结构吗?此外,SID_STopLevelBrowser似乎具有误导性,因为文章表明IWebBrowser2处于更高的水平。对吗? -
任何 COM 接口都可以由任何类、事件实现,如果它没有特别记录的话(而且情况越来越糟......我们必须使用 Wayback 机器)。 SID_STopLevelBrowser 确保您从层次结构中的任何一级获得顶级一级。基本上没有更多的文档了。
-
这大约是 1996 年,微软在互联网革命中有些措手不及。为了迎头赶上,他们试图让 Explorer 和浏览器之间的区别消失。结果并不好,他们有点坚持维护旧程序的兼容性。他们只能删除文档以阻止任何人继续使用它。不要气馁。
标签: shell winapi interface com iwebbrowser2