iwebbrowser2 get_document

场景:关于IWebBrowser2:get_Document的有关问题

关于IWebBrowser2::get_Document的问题
我在尝试使用标题上的接口来获取ms webbrowser控件的HTMLDocument指针。但是,我通过IWebBrowser2::get_Document获取Dispatch指针的时候,返回S_FALSE。
参考如下链接后,其说明无法安全编码?去了它给的指引链接之后还是不知所以然,求大神给个解决方案!
http://msdn.microsoft.com/en-us/library/aa752116(v=vs.85).aspx
------最佳解决方案--------------------
两个可能原因:
1、浏览器控件是在外部进程中运行的,比如IE。这种情况下取不到文档对象是安全限制。
2、浏览器控件还未打开任何页面,也取不到文档对象。需要首先导航到某个页面,比如 about:blank
------其他解决方案--------------------
引用:
两个可能原因:
1、浏览器控件是在外部进程中运行的,比如IE。这种情况下取不到文档对象是安全限制。
2、浏览器控件还未打开任何页面,也取不到文档对象。需要首先导航到某个页面,比如 about:blank


如果是在别的线程跑会遇到这种情况不?另外的请教个问题,如何得知完整页面加载完毕?
------其他解决方案--------------------
响应浏览器控件的连接点事件,页面加载完毕时DocumentComplete事件会被触发。不过如果一个页面中存在frame/iframe的话,每个子页面都是一个独立的页面,DocumentComplete会被触发多次,所以只有根浏览器被触发时才代表整个页面加载完毕。判断是不是根浏览器,只需比较DocumentComplete的第一个参数是不是跟你创建的浏览器控件相同。