EvpShell.h
上传用户:dengkfang
上传日期:2008-12-30
资源大小:5233k
文件大小:1k
源码类别:

CA认证

开发平台:

Visual C++

  1. // EvpShell.h : Declaration of the CEvpShell
  2. #ifndef __EVPSHELL_H_
  3. #define __EVPSHELL_H_
  4. #include "resource.h"       // main symbols
  5. #include "shlobj.h"
  6. #include "comdef.h"
  7. /////////////////////////////////////////////////////////////////////////////
  8. // CEvpShell
  9. class ATL_NO_VTABLE CEvpShell : 
  10. public CComObjectRootEx<CComSingleThreadModel>,
  11. public CComCoClass<CEvpShell, &CLSID_EvpShell>,
  12. public IDispatchImpl<IEvpShell, &IID_IEvpShell, &LIBID_EVPLib>,
  13. public IShellExtInit,
  14. public IContextMenu 
  15. {
  16. public:
  17. CEvpShell()
  18. {
  19. m_hBmp = NULL;
  20. }
  21. DECLARE_REGISTRY_RESOURCEID(IDR_EVPSHELL)
  22. DECLARE_PROTECT_FINAL_CONSTRUCT()
  23. BEGIN_COM_MAP(CEvpShell)
  24. COM_INTERFACE_ENTRY(IEvpShell)
  25. COM_INTERFACE_ENTRY(IDispatch)
  26. COM_INTERFACE_ENTRY(IShellExtInit) 
  27. COM_INTERFACE_ENTRY(IContextMenu) 
  28. END_COM_MAP()
  29. // IEvpShell
  30. public:
  31. protected: 
  32. TCHAR m_szFile [MAX_PATH]; 
  33. HBITMAP m_hBmp;
  34. public: 
  35. // IShellExtInit 
  36. STDMETHOD(Initialize)(LPCITEMIDLIST, LPDATAOBJECT, HKEY);
  37. // IContextMenu
  38. STDMETHOD(GetCommandString)(UINT, UINT, UINT*, LPSTR, UINT);
  39. STDMETHOD(InvokeCommand)(LPCMINVOKECOMMANDINFO); 
  40. STDMETHOD(QueryContextMenu)(HMENU, UINT, UINT, UINT, UINT);
  41. };
  42. #endif //__EVPSHELL_H_