📄 appregistry.h
字号:
// AppRegistry.h: interface for the CAppRegistry class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(CCL_APPREGISTRY_H__4765D894_39B4_4640_B93C_5A1DCFA2D58E__INCLUDED_)
#define CCL_APPREGISTRY_H__4765D894_39B4_4640_B93C_5A1DCFA2D58E__INCLUDED_
#pragma once
#define APPREG_MAXROOT 64 //最大根项目名称字符长度
#define APPREG_MAXCOM 64 //最大公司名称字符长度
#define APPREG_MAXAPP 64 //最大应用程序名称字符长度
#define APPREG_MAXVER 16 //最大版本字符长度
#define APPREG_MAXITEM 64 //最大项目名称字符长度
#define APPREG_MAXSUBITEM 256 //最大子项目名称字符长度
#define APPREG_MAXNAME 64 //最大注册值名称字符长度
//最大注册路径字符长度
#define APPREG_MAXPATH APPREG_MAXROOT+APPREG_MAXCOM+APPREG_MAXAPP+APPREG_MAXVER+APPREG_MAXITEM+APPREG_MAXSUBITEM
#ifndef APPREG_DEFROOTKEY
#define APPREG_DEFROOTKEY HKEY_CURRENT_USER //缺省注册表根键
#endif
#ifndef APPREG_DEFROOTITEM
#define APPREG_DEFROOTITEM _T("SOFTWARE") //缺省注册表根项目名
#endif
#define APPREG_SAFESTRPTR(lpsz) lpsz==NULL?_T(""):lpsz
/////////////////////////////////////////////////////////////////////////////
// //
// -->-> class CAppRegistry <-<-- //
// //
// 应用程序注册表访问类,该类旨在简化应用程序对系统注册表的访问。在需 //
// 要按照惯例结构访问系统注册表的场合,可以直接定义一个CAppRegistry的实例 //
// 来访问系统注册表,也可以通过从CAppRegistry派生子类来定义存储于系统注册 //
// 表中的数据结构。 //
// //
/////////////////////////////////////////////////////////////////////////////
class CAppRegistry
{
public:
BOOL RemoveAll(void) const;
BOOL RemoveApp(void) const;
BOOL Remove(void) const;
BOOL RemoveItem(LPCTSTR lpszSubItem=NULL) const;
BOOL GetRegBinary(LPCTSTR lpszSubItem, LPCTSTR lpszName, LPVOID lpBuff, int iMaxSize) const;
int GetRegBinarySize(LPCTSTR lpszSubItem, LPCTSTR lpszName) const;
BOOL SetRegBinary(LPCTSTR lpszSubItem, LPCTSTR lpszName,LPVOID lpData,int iDataSize) const;
BOOL GetRegString(LPCTSTR lpszSubItem, LPCTSTR lpszName,LPTSTR lpBuff,int iMaxStr) const;
int GetRegStringSize(LPCTSTR lpszSubItem, LPCTSTR lpszName) const;
BOOL SetRegString(LPCTSTR lpszSubItem, LPCTSTR lpszName,LPCTSTR lpszString) const;
BOOL GetRegLong(LPCTSTR lpszSubItem,LPCTSTR lpszName,long & rlVal) const;
BOOL SetRegLong(LPCTSTR lpszSubItem,LPCTSTR lpszName,long lVal) const;
LPCTSTR GetRoot(void) const;
int SetRoot(LPCTSTR lpszRoot);
LPCTSTR GetItem(void) const;
int SetItem(LPCTSTR lpszItem);
LPCTSTR GetVersion(void) const;
int SetVersion(LPCTSTR lpszVersion);
LPCTSTR GetApplication(void) const;
int SetApplication(LPCTSTR lpszApp);
LPCTSTR GetCompany(void) const;
int SetCompany(LPCTSTR lpszCompany);
CAppRegistry(LPCTSTR lpszCom,LPCTSTR lpszApp,LPCTSTR lpszVer,LPCTSTR lpszItem);
CAppRegistry();
virtual ~CAppRegistry();
protected:
BOOL deletekey(HKEY hKey,LPCTSTR lpszSub) const;
TCHAR m_atcRoot[APPREG_MAXROOT]; //根项目名称,缺省值为"SOFTWARE"
TCHAR m_atcCom[APPREG_MAXCOM]; //公司名称
TCHAR m_atcApp[APPREG_MAXAPP]; //应用程序名称
TCHAR m_atcVer[APPREG_MAXVER]; //版本号
TCHAR m_atcItem[APPREG_MAXITEM]; //子项目名称
HKEY m_hRegRootKey; //根键句柄,缺省值为HKEY_LOCAL_MACHINE
};
#endif // !defined(CCL_APPREGISTRY_H__4765D894_39B4_4640_B93C_5A1DCFA2D58E__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -