⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 appregistry.h

📁 研华ADAN4050 检测程序(自做) 压缩文件中 无密码
💻 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 + -