2010-08-19 2 views
0

Кажется, что моя программа не обрабатывает событие DownloadComplete. Может ли кто-нибудь направить меня туда, где я ошибся?Событие DownloadComplete не вызывается BHO

class ATL_NO_VTABLE CStockBar : 
    public CComObjectRootEx<CComSingleThreadModel>, 
    public CComCoClass<CStockBar, &CLSID_StockBar>, 
    public IDeskBand, 
    //public IObjectWithSite, 
    public IObjectWithSiteImpl<CStockBar>, 
    public IInputObject, 
    public IDispatchImpl<IStockBar, &IID_IStockBar, &LIBID_MOTLEYFOOLLib, 1, 0>, 
    public IDispEventImpl<1, CStockBar, &DIID_DWebBrowserEvents2, &LIBID_SHDocVw, 1, 1> 


    BEGIN_COM_MAP(CStockBar) 
    COM_INTERFACE_ENTRY(IStockBar) 
    COM_INTERFACE_ENTRY(IInputObject) 
    COM_INTERFACE_ENTRY(IOleWindow) 
    COM_INTERFACE_ENTRY_IID(IID_IDockingWindow, IDockingWindow) 
    COM_INTERFACE_ENTRY(IObjectWithSite) 
    COM_INTERFACE_ENTRY_IID(IID_IDeskBand, IDeskBand) 
    COM_INTERFACE_ENTRY(IDispatch) 
    END_COM_MAP() 


    BEGIN_SINK_MAP(CStockBar) 
    SINK_ENTRY_EX(1, DIID_DWebBrowserEvents2, DISPID_DOCUMENTCOMPLETE, OnDocumentComplete) 
    END_SINK_MAP() 

ответ

0
BEGIN_SINK_MAP(CStockBar) 
    SINK_ENTRY_EX(1, DIID_DWebBrowserEvents2, DISPID_DOCUMENTCOMPLETE, OnDocumentComplete) 
END_SINK_MAP() 

Просто добавьте следующее выше:

SINK_ENTRY_EX(1, DIID_DWebBrowserEvents2, DISPID_DOWNLOADCOMPLETE, OnDownloadComplete) 

http://msdn.microsoft.com/en-us/library/cc136548%28v=VS.85%29.aspx

+0

Спасибо за ответ чувак. Но я это сделал. Могу ли я узнать, что является возможной ошибкой, если downloadcomplete не вызывает IE? – barlyee

Смежные вопросы