cm.h
Upload User: xhy777
Upload Date: 2007-02-14
Package Size: 24088k
Code Size: 2k
Category:

Windows Kernel

Development Platform:

Visual C++

  1. // $$ClassType$$CM.h : Declaration of the C$$ClassType$$CM
  2. #ifndef __$$ClassType$$CM_H_
  3. #define __$$ClassType$$CM_H_
  4. #include "resource.h"       // main symbols
  5. #include "shlobj.h"
  6. /////////////////////////////////////////////////////////////////////////////
  7. // CCM
  8. class ATL_NO_VTABLE C$$ClassType$$CM : 
  9. public CComObjectRootEx<CComSingleThreadModel>,
  10. public CComCoClass<C$$ClassType$$CM, &CLSID_$$ClassType$$CM>,
  11. public IContextMenu3,
  12.     public IShellExtInit
  13. {
  14. public:
  15. C$$ClassType$$CM()
  16. {
  17. }
  18.     STDMETHODIMP Initialize ( LPCITEMIDLIST pidlFolder,
  19.                          LPDATAOBJECT lpdobj, 
  20.                          HKEY hkeyProgID);
  21.     STDMETHODIMP QueryContextMenu( HMENU hmenu,
  22.                                 UINT indexMenu,
  23.                                 UINT idCmdFirst,
  24.                                 UINT idCmdLast,
  25.                                 UINT uFlags);
  26.     STDMETHODIMP InvokeCommand(LPCMINVOKECOMMANDINFO lpici);
  27.     STDMETHODIMP GetCommandString( UINT idCmd,
  28.                                 UINT uType,
  29.                                 UINT* pwReserved,
  30.                                 LPSTR pszName,
  31.                                 UINT cchMax);
  32.     STDMETHODIMP HandleMenuMsg(UINT uMsg,
  33.                          WPARAM wParam,
  34.                          LPARAM lParam)
  35.     {   return HandleMenuMsg2(uMsg, wParam, lParam, NULL);  }
  36.     STDMETHODIMP HandleMenuMsg2(UINT uMsg,
  37.                              WPARAM wParam,
  38.                              LPARAM lParam,
  39.                              LRESULT* plResult);
  40. DECLARE_REGISTRY_RESOURCEID(IDR_SHELLEXTENSIONS)
  41. BEGIN_COM_MAP(C$$ClassType$$CM)
  42. COM_INTERFACE_ENTRY(IShellExtInit)
  43. COM_INTERFACE_ENTRY(IContextMenu)
  44. COM_INTERFACE_ENTRY(IContextMenu2)
  45. COM_INTERFACE_ENTRY(IContextMenu3)
  46. END_COM_MAP()
  47. public:
  48. };
  49. #endif //__$$ClassType$$CM_H_