Kiln » TortoiseHg » TortoiseHg
Clone URL:  
CShellExtCMenu.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#ifndef _CShellExtCMenu_h_ #define _CShellExtCMenu_h_ #include <vector> #include <string> class CShellExtCMenu: public IContextMenu3, IShellExtInit { ULONG m_cRef; LPTSTR* m_ppszFileUserClickedOn; // [MAX_PATH] std::vector<std::string> myFiles; std::string myFolder; void DoHgtk(const std::string&); public: explicit CShellExtCMenu(char dummy); ~CShellExtCMenu(); // IUnknown STDMETHODIMP QueryInterface(REFIID riid, LPVOID FAR *ppv); STDMETHODIMP_(ULONG) AddRef(); STDMETHODIMP_(ULONG) Release(); // IContextMenu3 STDMETHODIMP QueryContextMenu( HMENU hMenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags); STDMETHODIMP InvokeCommand(LPCMINVOKECOMMANDINFO lpcmi); STDMETHODIMP GetCommandString( UINT_PTR idCmd, UINT uFlags, UINT FAR* reserved,LPSTR pszName, UINT cchMax); STDMETHODIMP HandleMenuMsg(UINT uMsg, WPARAM wParam, LPARAM lParam); STDMETHODIMP HandleMenuMsg2( UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT* pResult); // IShellExtInit STDMETHODIMP Initialize( LPCITEMIDLIST pIDFolder, LPDATAOBJECT pDataObj, HKEY hKeyID); }; #endif