求助给IE绑定DWebBrowserEvents2事件 需要不断调用 ::ObjectFromLresult浏览器才可以正常运行 否则浏览器卡死 有人知道原因吗
UINT nMsg = ::RegisterWindowMessage(_T("WM_HTML_GETOBJECT"));
LRESULT lRes;
::SendMessageTimeout(hWnd, nMsg, 0L, 0L, SMTO_ABORTIFHUNG, 1000, (PDWORD_PTR)&lRes);
CComPtr<IHTMLDocument2> pHTMLDocument2=NULL;
HRESULT hr = ::ObjectFromLresult(lRes, IID_IHTMLDocument2, 0, (void **)&pHTMLDocument2);
//以上代码必须循环调用 浏览器才可以正常响应事件 否则卡死
if (!m_bIsBindEvent)
{
CComPtr<IHTMLWindow2> pHTMLWindow2=NULL;
hr=pHTMLDocument2->get_parentWindow ((IHTMLWindow2**)&pHTMLWindow2);
CComPtr<IServiceProvider>spServiceProv=NULL;
hr=pHTMLWindow2->QueryInterface (IID_IServiceProvider,(void**)&spServiceProv);
CComPtr<IWebBrowser2> pWebBrowser2=NULL;
hr = spServiceProv->QueryService(SID_SWebBrowserApp,IID_IWebBrowser2,(void**)&pWebBrowser2);
CComPtr<IConnectionPointContainer> pCPC;
pWebBrowser2->QueryInterface(IID_IConnectionPointContainer,(void**)&pCPC);
pCPC->FindConnectionPoint( DIID_DWebBrowserEvents2,&m_pCP);
if(NULL==m_pEventListener)
m_pEventListener=new IEEvent;
hr=m_pCP->Advise( (IUnknown*)(void*)m_pEventListener,&m_dwCookie);
m_bIsBindEvent=true;
}
求助 给IE绑定DWebBrowserEvents2事件 需要不断调用::ObjectFromLresult浏览器才可以正常运行 否则浏览器卡死 有人知道原因吗