哪位能帮我写一个示例,用mWebBrowser2->Navigate打开一个网页时,响应 DISPID_BEFORENAVIGATE2,DISPID_NAVIGATECOMPLETE2,DISPID_DOCUMENTCOMPLETE事件。不能用MFC,只能用c++,ATL实现,比如在main函数中打开网页,然后新建一个基类是IDispatch的类响应这几个事件。赠送100分,如果分不够可以再加,一定要调试通过,把源码发到.cn
(没办法了,我昨天自己写了一个,但调试了一天也没响应DISPID_DOCUMENTCOMPLETE事件)

解决方案 »

  1.   

    ATL中就可以响应这些事件,你继承对应的接口就可以,不一定是MFC
      

  2.   

    我新建一个基类是IDispatch的类响应这几个事件,这个类继承了下面这些接口
    STDMETHOD(QueryInterface)(REFIID riid,void __RPC_FAR *__RPC_FAR *ppvObject);
    ULONG __stdcall AddRef(void);
    ULONG __stdcall Release(void);
    // IDispatch
    STDMETHOD(GetTypeInfoCount)(UINT *pctinfo);
    STDMETHOD(GetTypeInfo)(UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
    STDMETHOD(GetIDsOfNames)(REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid, DISPID *rgDispId);
    STDMETHOD(Invoke)(DISPID dispidMember,REFIID riid, LCID lcid,WORD wFlags, DISPPARAMS * pDispParams,VARIANT * pvarResult,EXCEPINFO * pexcepinfo,UINT * puArgErr);
    但不知道哪来出了问题,就是不响应DISPID_NAVIGATECOMPLETE2,DISPID_DOCUMENTCOMPLETE消息。能不能帮我写个源码示例发给我
      

  3.   

    今天试了,AtlAdvise调用也不行,哪位高手帮帮忙啊,给个测试通过的示例也行啊