IEHlprObj.h
上传用户:lexian2
上传日期:2021-05-21
资源大小:3915k
文件大小:2k
源码类别:

Internet/IE编程

开发平台:

Visual C++

  1. // IEHlprObj.h : Declaration of the CIEHlprObj
  2. #ifndef __IEHLPROBJ_H_
  3. #define __IEHLPROBJ_H_
  4. #include "resource.h"       // main symbols
  5. #include "ExDisp.h"
  6. /////////////////////////////////////////////////////////////////////////////
  7. // CIEHlprObj
  8. class ATL_NO_VTABLE CIEHlprObj : 
  9. public CComObjectRootEx<CComSingleThreadModel>,
  10. public CComCoClass<CIEHlprObj, &CLSID_IEHlprObj>,
  11. public IObjectWithSiteImpl<CIEHlprObj>,
  12. public IDispatchImpl<IIEHlprObj, &IID_IIEHlprObj, &LIBID_IEHELPERLib>
  13. {
  14. public:
  15.    DECLARE_REGISTRY_RESOURCEID(IDR_IEHLPROBJ)
  16.    DECLARE_NOT_AGGREGATABLE(CIEHlprObj)
  17.    BEGIN_COM_MAP(CIEHlprObj)
  18.    COM_INTERFACE_ENTRY(IIEHlprObj)
  19.    COM_INTERFACE_ENTRY(IDispatch)
  20.        COM_INTERFACE_ENTRY_IMPL(IObjectWithSite)
  21.    END_COM_MAP()
  22. // IIEHlprObj
  23. public:
  24.    //
  25.    // CIEHlprObj Methods
  26.    //
  27.    CIEHlprObj() {}
  28.    ~CIEHlprObj();
  29.    //
  30.    // IDispatch Methods
  31.    //
  32.    STDMETHOD(Invoke)(DISPID dispidMember,REFIID riid, LCID lcid, WORD wFlags,
  33.                      DISPPARAMS * pdispparams, VARIANT * pvarResult,
  34.                      EXCEPINFO * pexcepinfo, UINT * puArgErr);
  35.    //
  36.    // IOleObjectWithSite Methods
  37.    //
  38. STDMETHOD(SetSite)(IUnknown *pUnkSite);
  39. private:
  40.    DWORD m_dwCookie;   // Connection Token - used for Advise and Unadvise
  41.    CComQIPtr<IWebBrowser2, &IID_IWebBrowser2> m_spWebBrowser2;
  42.    enum ConnectType { Advise, Unadvise };   // What to do when managing the connection
  43.    BOOL ManageConnection(enum ConnectType eConnectType);
  44. };
  45. #endif //__IEHLPROBJ_H_