The following code is for a toolbar to revceive DWebBrowserEvents2 events from Internet Explorer. Running on IE 8 and 7, the toolbar can catch both DISPID_DOCUMENTCOMPLETE and DISPID_ONQUIT events. On IE 9, the tooblar receives only DISPID_DOCUMENTCOMPLETE, the message box "Document load complete" will show when I open IE. But the toolbar can not receive DISPID_ONQUIT, the message box for "IE CLOSE event" never appears when I close IE 9, it looks like that IE 9 does not fire DISPID_ONQUIT event. Does IE 9 forget to fire this event? Thanks for any help!
Code:STDMETHODIMP CMyIEToolBar::Invoke(DISPID dispidMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS* pDispParams, VARIANT* pvarResult, EXCEPINFO* pExcepInfo, UINT* puArgErr) { HRESULT lResult = S_OK; if (!pDispParams) return E_INVALIDARG; switch (dispidMember) { case DISPID_DOCUMENTCOMPLETE: MessageBox(NULL, _T("Document load complete"), _T("DOCUMENT COMPLETE"),MB_OK); break; case DISPID_ONQUIT: //case DISPID_QUIT: MessageBox(NULL, _T("IE CLOSE event"), _T("IE close"),MB_OK); ManageConnection(Unadvise); break; default: break; } return lResult; }


Reply With Quote
Bookmarks