00001
00002
00003
00004
00005
00006 #ifndef __WGBHO_H_
00007 #define __WGBHO_H_
00008
00009 #include "resource.h"
00010 #include <Exdisp.h>
00011 #include <mshtml.h>
00012 #include <fsString.h>
00013
00014 class ATL_NO_VTABLE CWgBHO :
00015 public CComObjectRootEx<CComSingleThreadModel>,
00016 public CComCoClass<CWgBHO, &CLSID_WgBHO>,
00017 public IObjectWithSiteImpl<CWgBHO>,
00018 public IDispatchImpl<IWgBHO, &IID_IWgBHO, &LIBID_IEFDMLib>
00019 {
00020 public:
00021 CWgBHO()
00022 {
00023 }
00024
00025 DECLARE_REGISTRY_RESOURCEID(IDR_WGBHO)
00026
00027 DECLARE_PROTECT_FINAL_CONSTRUCT()
00028
00029 BEGIN_COM_MAP(CWgBHO)
00030 COM_INTERFACE_ENTRY(IWgBHO)
00031 COM_INTERFACE_ENTRY(IObjectWithSite)
00032 COM_INTERFACE_ENTRY(IDispatch)
00033 END_COM_MAP()
00034
00035 public:
00036 STDMETHOD(BeforeNavigate2)(IDispatch*, VARIANT* url, VARIANT* flags, VARIANT* tfn, VARIANT* pd, VARIANT* headers, VARIANT_BOOL* bCancel);
00037 protected:
00038 void WalkThroughForm(IHTMLElement *pElement, fsString& str);
00039 DWORD m_dwCookie;
00040 STDMETHOD(Connect)();
00041 CComQIPtr <IWebBrowser2, &IID_IWebBrowser2> m_spWebBrowser2;
00042 CComQIPtr <IConnectionPointContainer, &IID_IConnectionPointContainer> m_spCPC;
00043 STDMETHOD(SetSite )(IUnknown* pSite);
00044 STDMETHOD(GetSite )(REFIID riid, void** ppvSite);
00045 };
00046
00047 #endif