📄 countlines.h
字号:
// CountLines.h : Declaration of the CCountLines
#ifndef __COUNTLINES_H_
#define __COUNTLINES_H_
#include "resource.h" // main symbols
#include <shlobj.h>
#include <comdef.h>
/////////////////////////////////////////////////////////////////////////////
// CCountLines
class ATL_NO_VTABLE CCountLines :
public CComObjectRootEx<CComSingleThreadModel>,
public CComCoClass<CCountLines, &CLSID_CountLines>,
public IDispatchImpl<ICountLines, &IID_ICountLines, &LIBID_SRCCOUNTLib>,
public IShellExtInit,
public IContextMenu
{
public:
CCountLines()
{
m_pIDFolder = NULL;
m_pDataObj = NULL;
memset(m_pszPath, 0, MAX_PATH);
}
DECLARE_REGISTRY_RESOURCEID(IDR_COUNTLINES)
DECLARE_PROTECT_FINAL_CONSTRUCT()
BEGIN_COM_MAP(CCountLines)
COM_INTERFACE_ENTRY(ICountLines)
COM_INTERFACE_ENTRY(IDispatch)
COM_INTERFACE_ENTRY(IShellExtInit)
COM_INTERFACE_ENTRY(IContextMenu)
END_COM_MAP()
// ICountLines
public:
STDMETHOD(GetFileLines)(/*[in]*/BSTR *pFilePath, /*[out]*/int *lines);
STDMETHOD(GetFolderLines)(/*[in]*/BSTR *pFolderPath, /*[out]*/int *lines);
// IShellExtInit
STDMETHOD(Initialize) (LPCITEMIDLIST pIDFolder,
LPDATAOBJECT pDataObj,
HKEY hRegKey
);
// IContextMenu
STDMETHOD(GetCommandString)(UINT idCmd,
UINT uFlags,
UINT *pwReserved,
LPSTR pszName,
UINT cchMax);
STDMETHOD(InvokeCommand)(
LPCMINVOKECOMMANDINFO pici
);
STDMETHOD(QueryContextMenu)(HMENU hmenu,
UINT indexMenu,
UINT idCmdFirst,
UINT idCmdLast,
UINT uFlags);
// Interanl operations
protected:
TCHAR *GetFileSuffix(TCHAR *pFile);
// Data members
private:
LPCITEMIDLIST m_pIDFolder; // The folder's PIDL
TCHAR m_pszPath[MAX_PATH]; // The selected folder path
IDataObject * m_pDataObj; // The IDataObject pointer
HKEY m_hRegKey; // The file or folder's registry key
};
#endif //__COUNTLINES_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -