读书人

关于非MFC环境上怎么挂接IWebBrowse

发布时间: 2012-09-03 09:48:39 作者: rapoo

求助,关于非MFC环境下如何挂接IWebBrowser2的新窗口事件
求助,关于非MFC环境下如何挂接IWebBrowser2的新窗口事件


我的环境是使用duilib界面库,因为没有使用MFC,所以不知道如何处理IWebBrowser2的新窗口事件
请知道的各位指点指点

C/C++ code
void CBrowserWnd::Init(){    CActiveXUI* pActiveXUI = static_cast<CActiveXUI*>(paint_manager_.FindControl(_T("ie")));    if( pActiveXUI ) {        IWebBrowser2* pWebBrowser = NULL;        pActiveXUI->GetControl(IID_IWebBrowser2, (void**)&pWebBrowser);        if( pWebBrowser != NULL ) {            pWebBrowser->Navigate(L"http://www.baidu.com",NULL,NULL,NULL,NULL);              pWebBrowser->Release();        }    }}

这样子可以正常浏览网页,但是新窗口弹出的界面该如何监控呢?

[解决办法]
IWebBrowser2事件要注册到系统,参考BHO开发。
[解决办法]
通过连接点事件,挂接DWebBrowserEvents2 事件,然后就能处理浏览器的事件了
http://m426.mail.qq.com/cgi-bin/frame_html?sid=i_pqs5_teOv4VUsb&r=0176a3d132cd2c74dcdacf186cdfde27
[解决办法]
找到了
Handling HTML Element Events
http://msdn.microsoft.com/en-us/library/bb508508(v=vs.85).aspx

里面提到2种解决方案 MFC && ATL——
Handling Events using MFC
Handling Events using ATL

关键类和宏有了,再多我也不清楚了

读书人网 >VC/MFC

热点推荐