hexshellmenu.h

来自「dos系统下的16进制文件内容察看器源码」· C头文件 代码 · 共 80 行

H
80
字号
//---------------------------------------------------------------------------------------

// Quick Hex Shell extension
// Copyright (c) 2000 by Shanker.C
// All rights reserved
// Author's consent required if this program is to be used for commercial purposes
// No warranty of any kind, expressed or implied, is included with this
// software; use at your own risk, responsibility for damages (if any) to
// anyone resulting from the use of this software rests entirely with the user.
// Please send comments/suggestions/criticisms to: Shanker@xlprint.com
// March 7, 2000

//---------------------------------------------------------------------------------------

// HexShellMenu.h : Declaration of the CHexShellMenu

#ifndef __HEXSHELLMENU_H_
#define __HEXSHELLMENU_H_

//---------------------------------------------------------------------------------------

#include "resource.h"       // main symbols
#include "IContextMenuImpl.h"
#include "IShellExtInitImpl.h"
#include "hexdlg.h"
#include <comdef.h>

//---------------------------------------------------------------------------------------

// CHexShellMenu
class ATL_NO_VTABLE CHexShellMenu : 
	public CComObjectRootEx<CComSingleThreadModel>,
	public CComCoClass<CHexShellMenu, &CLSID_HexShellMenu>,
	public IShellExtInitImpl, 
	public IContextMenuImpl,
	public IDispatchImpl<IHexShellMenu, &IID_IHexShellMenu, &LIBID_HEXSHELLLib>
{

public:
	CHexShellMenu()
	{
		m_bOSNT = FALSE;
		if((GetVersion() & 0x80000000) == 0)
			m_bOSNT = TRUE;
	
	}
	// IContextMenu methods
	STDMETHOD(GetCommandString)(UINT, UINT, UINT*, LPSTR, UINT);
	STDMETHOD(InvokeCommand)(LPCMINVOKECOMMANDINFO);
	STDMETHOD(QueryContextMenu)(HMENU, UINT, UINT, UINT, UINT);

	// IShellExtInit methods 
	STDMETHOD(Initialize)(LPCITEMIDLIST, LPDATAOBJECT, HKEY);

	char m_szPath[MAX_PATH];
	CHexDlg* m_pHexDlg;
	BOOL m_bOSNT;


	DECLARE_REGISTRY_RESOURCEID(IDR_HEXSHELLMENU)

	DECLARE_PROTECT_FINAL_CONSTRUCT()

	BEGIN_COM_MAP(CHexShellMenu)
		COM_INTERFACE_ENTRY(IHexShellMenu)
		COM_INTERFACE_ENTRY(IDispatch)
		COM_INTERFACE_ENTRY(IShellExtInit)
		COM_INTERFACE_ENTRY(IContextMenu)
	END_COM_MAP()

	// IHexShellMenu
	public:
};

//---------------------------------------------------------------------------------------

#endif //__HEXSHELLMENU_H_

//---------------------------------------------------------------------------------------

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?