读书人

DISPID_NEWWINDOW2 如何在自己的浏览器

发布时间: 2012-03-12 12:45:33 作者: rapoo

DISPID_NEWWINDOW2 怎么在自己的浏览器弹出新的网页
void CWBClientSite:: CWebBrowser2_NewWindow2(IUnknown* EventSin, IDispatch** ppDisp, VARIANT_BOOL* pbCancel)
{
IWebBrowser2*pBrowserApp;
HRESULT hr = -1;
LPDISPATCH DbgppDisp = NULL;
IOleObject*browserObject;
hr = m_pBrowserObj->QueryInterface(IID_IWebBrowser2, (void**)&pBrowserApp);
if ( SUCCEEDED(hr) )
{
hr = pBrowserApp->get_Application(&DbgppDisp);
if ( SUCCEEDED(hr) )
{
*ppDisp = DbgppDisp;
}
}

}
这样的话还是在360浏览器弹出新的窗口。。。以上的代码是纯C++写的!!不是MFC

[解决办法]
pbCancel = VARIANT_TRUE;
ShellExecute
[解决办法]
newwindow2, 我记得清楚了, newwindow3是可以的,但是需要客户机器是Windows XP SP2以上的。

否则你需要实现ExternalUIHandler 这个接口。

读书人网 >VC/MFC

热点推荐