Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/136.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 调用IWebBrowser2时出现错误800706B5->;获取文档_C++_Windows_Internet Explorer_Com_Windows Vista - Fatal编程技术网

C++ 调用IWebBrowser2时出现错误800706B5->;获取文档

C++ 调用IWebBrowser2时出现错误800706B5->;获取文档,c++,windows,internet-explorer,com,windows-vista,C++,Windows,Internet Explorer,Com,Windows Vista,在使用IE8的Vista上,我有一个IWebBrowser2实例,我正在使用它来获取当前的HTML文档: IWebBrowser2* browser; CComPtr<IDispatch> disp; HRESULT hr = browser->get_Document(&disp); IWebBrowser2*浏览器; CComPtr disp; HRESULT hr=浏览器->获取文档(&disp); 当管理员执行此操作时,调用成功。但是,当普通用户调用时,调用

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

IWebBrowser2* browser;
CComPtr<IDispatch> disp;
HRESULT hr = browser->get_Document(&disp);
IWebBrowser2*浏览器;
CComPtr disp;
HRESULT hr=浏览器->获取文档(&disp);
当管理员执行此操作时,调用成功。但是,当普通用户调用时,调用返回错误代码“800706B5”(“接口未知”),尽管页面位于“受信任站点”上且“受保护模式”处于关闭状态

同样的代码在Vista上的IE7和XP上的IE8上都可以正常工作

有人知道为什么会发生此错误吗?我可以做些什么来解决此问题?以管理员的身份运行并不理想,Jon Skeet也被这个问题难住了:)


更新:问题似乎围绕着UAC:关闭UAC完全可以让普通用户使用(尽管这显然是不安全的)

IE8是由管理员“仅为该用户”安装的吗?我不知道为什么或者是否会出现这个错误,只是一种预感。

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


本文档提供了有关

好问题的更多信息。我想它是在系统范围内安装的。在调用get_Document()之前,您是在等待DocumentComplete事件触发,还是等待ReadyState属性变为READSTATE_COMPLETE?解决方法是改用InternetExplorer.ApplicationMedium。有关更多解释,请参阅。