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浏览器才可以正常运行 否则浏览器卡死 有人知道原因吗
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浏览器才可以正常运行 否则浏览器卡死 有人知道原因吗
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货