Отлов BeforeNavigare2 из IE тулбара
От: Nihasa Россия  
Дата: 31.07.08 06:01
Оценка:
Пытаюсь отловить BeforeNavigare2 событие из IE тулбара.
Вот код:

class ATL_NO_VTABLE CToolBandObject :
    public CComObjectRootEx<CComSingleThreadModel>
    ,public CComCoClass<CToolBandObject, &CLSID_ToolBandObject>
    ,public IObjectWithSiteImpl<CToolBandObject>
    ,public IDeskBand
    ,public IDispEventImpl<0, CToolBandObject, &DIID_DWebBrowserEvents2, &LIBID_IEToolBandLib, 1, 0>
    ,public IToolBandObject

...

private:
    CComPtr<IWebBrowser2> Browser_;

...

BEGIN_COM_MAP(CToolBandObject)
    COM_INTERFACE_ENTRY_IID(DIID_DWebBrowserEvents2, CToolBandObject)
END_COM_MAP()

...

BEGIN_SINK_MAP(CToolBandObject)
    SINK_ENTRY_EX(0, DIID_DWebBrowserEvents2, DISPID_BEFORENAVIGATE2, BeforeNavigate2)
END_SINK_MAP()

...

HRESULT __stdcall BeforeNavigate2( IDispatch *pDisp, VARIANT *url, VARIANT *Flags, VARIANT *TargetFrameName, VARIANT *PostData, VARIANT *Headers, VARIANT_BOOL *Cancel );


Вызов DispEventAdvise( Browser_ ) проходит нормально. Однако событие не ловится.

Подскажите, в чем может быть проблема?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.