gpt4 book ai didi

c++ - 调用 IWebBrowser2->get_Document 时出现错误 800706B5

转载 作者:可可西里 更新时间:2023-11-01 10:40:44 26 4
gpt4 key购买 nike

在使用 IE8 的 Vista 上,我有一个 IWebBrowser2 的实例,我用它来获取当前的 HTML 文档:

IWebBrowser2* browser;
CComPtr<IDispatch> disp;
HRESULT hr = browser->get_Document(&disp);

当管理员执行此操作时,调用成功。但是,当由普通用户调用时,尽管页面位于“受信任的站点”并且“保护模式”处于关闭状态,但该调用会返回错误代码“800706B5”(“接口(interface)未知”)。

同样的代码在 Vista 的 IE7 和 XP 的 IE8 上运行没有问题。

有谁知道为什么会出现此错误,以及我可以采取什么措施来解决此问题?以管理员身份运行并不理想,Jon Skeet 也被这个难住了:)

更新:这个问题似乎围绕着 UAC:完全关闭 UAC 可以让普通用户正常工作(尽管它显然不安全)

最佳答案

错误的发生是因为在 Vista 上,IE 8 以“低完整性”模式运行,而我的测试代码以普通用户身份运行,以“中等完整性”运行。安全模型的设计使得代码可以向完整性较低的组件发送指令,但默认情况下无法从“较低”组件读取数据到“较高”组件。

本文档提供了有关 How the Integrity Mechanism Is Implemented in Windows Vista 的更多信息

关于c++ - 调用 IWebBrowser2->get_Document 时出现错误 800706B5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1427370/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com