windows-nt/Source/XPSP1/NT/shell/tools/extwiz/template/cm.h
2020-09-26 16:20:57 +08:00

66 lines
1.8 KiB
C++

// $$ClassType$$CM.h : Declaration of the C$$ClassType$$CM
#ifndef __$$ClassType$$CM_H_
#define __$$ClassType$$CM_H_
#include "resource.h" // main symbols
#include "shlobj.h"
/////////////////////////////////////////////////////////////////////////////
// CCM
class ATL_NO_VTABLE C$$ClassType$$CM :
public CComObjectRootEx<CComSingleThreadModel>,
public CComCoClass<C$$ClassType$$CM, &CLSID_$$ClassType$$CM>,
public IContextMenu3,
public IShellExtInit
{
public:
C$$ClassType$$CM()
{
}
STDMETHODIMP Initialize ( LPCITEMIDLIST pidlFolder,
LPDATAOBJECT lpdobj,
HKEY hkeyProgID);
STDMETHODIMP QueryContextMenu( HMENU hmenu,
UINT indexMenu,
UINT idCmdFirst,
UINT idCmdLast,
UINT uFlags);
STDMETHODIMP InvokeCommand(LPCMINVOKECOMMANDINFO lpici);
STDMETHODIMP GetCommandString( UINT idCmd,
UINT uType,
UINT* pwReserved,
LPSTR pszName,
UINT cchMax);
STDMETHODIMP HandleMenuMsg(UINT uMsg,
WPARAM wParam,
LPARAM lParam)
{ return HandleMenuMsg2(uMsg, wParam, lParam, NULL); }
STDMETHODIMP HandleMenuMsg2(UINT uMsg,
WPARAM wParam,
LPARAM lParam,
LRESULT* plResult);
DECLARE_REGISTRY_RESOURCEID(IDR_SHELLEXTENSIONS)
BEGIN_COM_MAP(C$$ClassType$$CM)
COM_INTERFACE_ENTRY(IShellExtInit)
COM_INTERFACE_ENTRY(IContextMenu)
COM_INTERFACE_ENTRY(IContextMenu2)
COM_INTERFACE_ENTRY(IContextMenu3)
END_COM_MAP()
public:
};
#endif //__$$ClassType$$CM_H_