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 这个接口。