在BHO中是用 Invoke(DISPID dispidMember, REFIID riid, LCID lcid, WORD wFlags,DISPPARAMS* pDispParams, VARIANT* pvarResult,EXCEPINFO* pExcepInfo, UINT* puArgErr)函数,来捕捉浏览器事件,而打开一个网页有时会有多个DocumentComplete事件,我只想响应最后一个,怎么办? 请牛人指点下!
调试欢乐多
IDispatch *pDisp,
VARIANT *URL
);pDisp == MainWebBrowser ?
{
CComPtr<IUnknown> spUnknown;
m_spWebBrowser2.QueryInterface(&spUnknown);
if(spUnknown)
{
CComPtr<IDispatch> spDispatch;
spUnknown.QueryInterface(&spDispatch);
if(spDispatch.IsEqualObject(pDispatch))//如果相同说明,最后一个DocumentComplete
{
CComPtr<IDispatch> spDispDoc;
m_spWebBrowser2->get_Document(&spDispDoc);
m_spHtmlDoc2 = spDispDoc;//文档已经加载完了,可以初始化 CComPtr<IHtmlDocument2> m_spHtmlDocument2 对象了
}
}
}