描述:
我有一个多线程的程序,每个线程中都会通过如下方法启动浏览器
HRESULT hr;
IWebBrowser2* pWebBrowser = NULL;
hr = CoCreateInstance (CLSID_InternetExplorer, NULL, CLSCTX_SERVER, IID_IWebBrowser2, (LPVOID*)&pWebBrowser);
我现在想监听每个IE的OnDocumentComplete事件,请问应该如何?
多谢了
解决方案1:
pUnk = NULL;
m_pWebBrowser->QueryInterface(IID_IUnknown, (void**)&pUnk);
hResult = AtlAdvise(pUnk, this->GetUnknown(), DIID_DWebBrowserEvents2, &m_dwCookie);
ATLASSERT(SUCCEEDED(hResult));
pUnk->Release();
------------
STDMETHODIMP CIEBrowser::Invoke(
DISPID DispIDMember,
REFIID,
LCID,
WORD,
DISPPARAMS* pDispParams,
VARIANT* pResult,
EXCEPINFO*,
UINT*)
{
switch (DispIDMember)
{case DISPID_DOCUMENTCOMPLETE:
OnComplete();
break;