CHKLM v1.1 - 注册表访问





4.00/5 (2投票s)
2000 年 3 月 4 日

91784

947
一个免费的 MFC 类,用于写入 HKEY_LOCAL_MACHINE。
引言
欢迎使用CHKLM
v1.0,这是一个简单的 MFC 类,允许您向 HKEY_LOCAL_MACHINE
注册表项写入值。MFC 提供的函数仅允许将值写入 HKEY_CURRENT_USER
。提供完整的源代码供感兴趣者参考。包含一个 VC 5 工作区文件,该文件构建了一个简单的演示控制台应用程序,该应用程序调用此类的方法。
特点 |
历史 |
API |
联系作者 |
特点
- 基于 MFC 函数的简单、干净的 C++ 接口。
- 类完全符合 Unicode 标准,并在工作区文件中包含 Unicode 构建选项。
- 提供 HTML 文件形式的完整文档。
历史
V1.0 (1998 年 6 月 27 日)- 首次公开发布。
V1.01 (1999 年 7 月 14 日)
- 现在提供 VC 5 工作区而不是 VC 6。
- 整理了文档文件。
- Unicode 生成配置现在可以实际编译和工作了 <g>。
V1.1 (1999 年 10 月 3 日)
- 添加了
GetProfileStringArray()
和WriteProfileStringArray()
方法。
API
API 由CHKLM
类的公共方法组成。它们包括
CHKLM::SetRegistryKey
CHKLM::WriteProfileString
CHKLM::GetProfileString
CHKLM::WriteProfileInt
CHKLM::GetProfileInt
CHKLM::GetProfileBinary
CHKLM::WriteProfileBinary
CHKLM::GetProfileStringArray
CHKLM::WriteProfileStringArray
- CHKLM::SetRegistryKey
- void SetRegistryKey(LPCTSTR lpszRegistryKey);
参数
- lpszRegistryKey -- 指向包含项名称的字符串的指针。
- nIDRegistryKey -- 注册表中项的 ID/索引。
备注
此函数设置 m_sRegistryKey,该变量随后由CHKLM
的成员函数使用。注册表项通常是公司的名称。它存储在以下形式的项中:HKEY_LOCAL_MACHINE\Software\<公司名称>\<应用程序名称>\<节名称>\<值名称>
。 - CHKLM::GetProfileInt
- UINT GetProfileInt(LPCTSTR lpszSection, LPCTSTR lpszEntry, int nDefault);
返回值
如果函数成功,则返回跟随指定项的字符串的整数值。如果函数未找到该项,则返回值是 nDefault 参数的值。如果与指定项对应的值不是整数,则返回值为 0。检索有符号整数时,应将值转换为
int
。参数
- lpszSection -- 指向指定项所在节的以 null 结尾的字符串。
- lpszEntry -- 指向要检索其值的项的以 null 结尾的字符串。
- nDefault -- 指定当框架找不到该项时要返回的默认值。此值可以是 0 到 65,535 范围内的无符号值,或 -32,768 到 32,767 范围内的有符号值。
备注
调用此成员函数以从应用程序 HKLM 注册表部分中指定节内的项检索整数值。此成员函数不区分大小写,因此 lpszSection 和 lpszEntry 参数中的字符串在大小写上可能不同。
- CHKLM::WriteProfileInt
- BOOL WriteProfileInt(LPCTSTR lpszSection, LPCTSTR lpszEntry, int nValue);
返回值
成功则为非零,否则为 0。参数
- lpszSection -- 指向指定项所在节的以 null 结尾的字符串。如果节不存在,则会创建它。节名称不区分大小写;字符串可以是任意组合的大小写字母。
- lpszEntry -- 指向要写入其值的项的以 null 结尾的字符串。如果指定的节中不存在该项,则会创建它。
- nValue -- 包含要写入的值。
备注
调用此成员函数以将指定值写入应用程序 HKLM 注册表部分的指定节。 - CHKLM::GetProfileString
- CString GetProfileString(LPCTSTR lpszSection, LPCTSTR lpszEntry, LPCTSTR lpszDefault = NULL);
返回值
返回值是应用程序 HKLM 注册表部分中的字符串,如果找不到字符串,则返回 lpszDefault。框架支持的最大字符串长度为 _MAX_PATH。如果 lpszDefault 为NULL
,则返回值为一个空字符串。参数
- lpszSection -- 指向指定项所在节的以 null 结尾的字符串。
- lpszEntry -- 指向要检索其字符串的项的以 null 结尾的字符串。此值不能为
NULL
。 - lpszDefault -- 指向初始化文件中找不到的项的默认字符串值。
备注
调用此成员函数以检索与应用程序 HKLM 注册表部分中指定节内的项关联的字符串。 - CHKLM::WriteProfileString
- BOOL WriteProfileString(LPCTSTR lpszSection, LPCTSTR lpszEntry, LPCTSTR lpszValue);
返回值
成功则为非零,否则为 0。参数
- lpszSection -- 指向指定项所在节的以 null 结尾的字符串。如果节不存在,则会创建它。节名称不区分大小写;字符串可以是任意组合的大小写字母。
- lpszEntry -- 指向要写入值的项的以 null 结尾的字符串。如果指定的节中不存在该项,则会创建它。
- lpszValue -- 指向要写入的字符串。如果此参数为
NULL
,则删除由 lpszEntry 参数指定的项。
备注
调用此成员函数以将指定的字符串写入应用程序 HKLM 注册表部分的指定节。 - CHKLM::GetProfileBinary
- BOOL GetProfileBinary(LPCTSTR lpszSection, LPCTSTR lpszEntry, LPBYTE* ppData, UINT* pBytes);
返回值
成功则为非零,否则为 0。参数
- lpszSection -- 指向指定项所在节的以 null 结尾的字符串。
- lpszEntry -- 指向要检索其二进制项的项的以 null 结尾的字符串。此值不能为
NULL
。 - ppData -- 成功返回时,此将包含二进制项。
- pBytes -- 成功返回时,此将包含二进制项的大小。
备注
调用此成员函数以检索与应用程序 HKLM 注册表部分中指定节内的项关联的二进制项。用户负责删除 ppData 内存。 - CHKLM::WriteProfileBinary
- BOOL WriteProfileBinary(LPCTSTR lpszSection, LPCTSTR lpszEntry, LPBYTE pData, UINT nBytes);
返回值
成功则为非零,否则为 0。参数
- lpszSection -- 指向指定项所在节的以 null 结尾的字符串。如果节不存在,则会创建它。节名称不区分大小写;字符串可以是任意组合的大小写字母。
- lpszEntry -- 指向要写入值的项的以 null 结尾的字符串。如果指定的节中不存在该项,则会创建它。
- pData -- 指向要写入的二进制数据的指针。
- nBytes -- pData 指向的二进制数据的大小。
备注
调用此成员函数以将指定的二进制值写入应用程序 HKLM 注册表部分的指定节。 - CHKLM::GetProfileStringArray
- BOOL GetProfileStringArray(LPCTSTR lpszSection, LPCTSTR lpszEntry, CStringArray& array);
返回值
成功则为非零,否则为 0。参数
- lpszSection -- 指向指定项所在节的以 null 结尾的字符串。
- lpszEntry -- 指向要检索其字符串数组的项的以 null 结尾的字符串。此值不能为
NULL
。 - array -- 成功返回时,此将包含 CStringArray。
备注
调用此成员函数以检索与注册表中指定节内的项关联的字符串数组。该值在注册表中存储为MULTI_SZ
字符串。 - CHKLM::WriteProfileStringArray
- BOOL WriteProfileStringArray(LPCTSTR lpszSection, LPCTSTR lpszEntry, const CStringArray& array);
返回值
成功时为非零;否则为 FALSE。参数
- lpszSection -- 指向指定项所在节的以 null 结尾的字符串。如果节不存在,则会创建它。节名称不区分大小写;字符串可以是任意组合的大小写字母。
- lpszEntry -- 指向要写入值的项的以 null 结尾的字符串。如果指定的节中不存在该项,则会创建它。
- array -- 要写入的 CStringArray。
备注
调用此成员函数以将指定的字符串数组写入注册表。该值将作为MULTI_SZ
字符串存储在注册表中。
联系作者
PJ Naughter电子邮件:pjn@indigo.ie
网站:http://www.naughter.com
1999 年 10 月 3 日