📄 pgpwctx.hpp
字号:
/* Confidential to PGP. */
/* Copyright (c) 1995 PGP. */
/* $Id: Pgpwctx.hpp,v 1.4 1997/08/06 22:29:24 wjb Exp $ */
// pgpwctx.hpp Context Menu Handler header file
//
// The class ID of this Shell extension class.
//
// class id: 969223c0-26aa-11d0-90ee-444553540000
//
//
// NOTE!!! If you use this shell extension as a starting point,
// you MUST change the GUID below. Simply run UUIDGEN.EXE
// to generate a new GUID.
//
//#define ODS(sz) OutputDebugString(sz)
//#define ODS(sz) MessageBox(GetFocus(), sz, "PGP Shell Extension", MB_OK)
#ifdef _DEBUG
void ODS(LPCSTR msg);
#else
#define ODS(sz)
#endif
#ifndef _PGPWCTX_HPP
#define _PGPWCTX_HPP
// this class factory object creates
// context menu handlers for Windows 95 shell
class CPGPClassFactory : public IClassFactory
{
protected:
ULONG m_cRef;
public:
CPGPClassFactory();
~CPGPClassFactory();
//IUnknown members
STDMETHODIMP QueryInterface(REFIID, LPVOID FAR *);
STDMETHODIMP_(ULONG) AddRef();
STDMETHODIMP_(ULONG) Release();
//IClassFactory members
STDMETHODIMP CreateInstance(LPUNKNOWN, REFIID, LPVOID FAR *);
STDMETHODIMP LockServer(BOOL);
};
typedef CPGPClassFactory *LPCPGPCLASSFACTORY;
// this is the actual OLE Shell context menu handler
class CShellExt : public IContextMenu,
IShellExtInit
{
public:
protected:
ULONG m_cRef;
LPDATAOBJECT m_pDataObj;
STGMEDIUM medium;
char m_szFileUserClickedOn[MAX_PATH];
HMENU hParentMenu;
HMENU hSubMenu;
UINT SubMenuItems;
char SubMenuType[64];
void CreateEncryptedMenu(UINT idCmdFirst);
void CreateKeyfileMenu(UINT idCmdFirst);
void CreateViewKeyringMenu(UINT idCmdFirst);
void CreatePlaintextMenu(UINT idCmdFirst);
void CreateVerifyMenu(UINT idCmdFirst);
void CreateDirectoryMenu(UINT idCmdFirst);
public:
CShellExt();
~CShellExt();
//IUnknown members
STDMETHODIMP QueryInterface(REFIID, LPVOID FAR *);
STDMETHODIMP_(ULONG) AddRef();
STDMETHODIMP_(ULONG) Release();
//IShell members
STDMETHODIMP QueryContextMenu(HMENU hMenu,
UINT indexMenu,
UINT idCmdFirst,
UINT idCmdLast,
UINT uFlags);
STDMETHODIMP InvokeCommand(LPCMINVOKECOMMANDINFO lpcmi);
STDMETHODIMP GetCommandString(UINT idCmd,
UINT uFlags,
UINT FAR *reserved,
LPSTR pszName,
UINT cchMax);
//IShellExtInit methods
STDMETHODIMP Initialize(LPCITEMIDLIST pIDFolder,
LPDATAOBJECT pDataObj,
HKEY hKeyID);
private:
BOOL AddMenuSeparator(HMENU hMenu, int iPosition);
};
typedef CShellExt *LPCSHELLEXT;
#endif // _PGPWCTX_HPP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -