删除文章

确定要删除这篇文章吗?

取消
确定

WebBrowser控件判断页面加载完毕

     阅读(603)  2017-04-15 13:35:19

大家都知道DWebBrowserEvents2 Members的DocumentComplete(Fires when a document is completely loaded and initialized)成员的作用。但是实际上直接在它里面处理加载完成后的事件是不行的, 我们还需要做一些处理才行。直接看代码:

//CComPtr<IWebBrowser2> m_spWebBrowser;
void __stdcall OnEventDocumentComplete(IDispatch* /*pDisp*/, VARIANT* /*URL*/)
{
    ATLASSERT(m_spWebBrowser != NULL);
    IDispatch *p_disp = NULL;
    m_spWebBrowser->get_Document(&p_disp);
    if (p_disp)
    {
        ATL::CComQIPtr<IHTMLDocument2, &IID_IHTMLDocument2> spDoc2 = p_disp;
        BSTR bs_readyState;
        spDoc2->get_readyState(&bs_readyState);
        CString str;
        str.Format(_T("%s"), bs_readyState);
        if (str.Compare(_T("complete")) == 0)
        {
            // 这里才是处理页面最终加载完成的地方
        }
    }
}

2011-07-14

文章评论

Keep it simple,stupid
文章数
300
总访问量
443115
今日访问
1004
最近评论

xuehaoyun : 很不错,来围观一下
tujiaw : 抱歉csdn code服务关闭了,这个代码我也找不到了
于淞 : 你好,这个文章的源码能分享一下吗,songsong9181@163.com,谢谢了 上面的写错了
于淞 : 你好,这个文章的源码能分享一下吗,838106303@163.com,谢谢了 上面的链接不能用了
tujiaw : 多谢多谢
essaypinglun college-paper.org : 很好的博客,赞赞
Folly : 这个实现有点奇怪,Qt为什么没有统一的比对方法。
过多s : alert("hello, world!")
tujiaw : 还不错哦
回到顶部