MFC 读写注册表

在MFC (Microsoft Foundation Classes) 中读写注册表涉及到使用 CRegKey 类,这个类提供了一组方法来操作Windows注册表。以下是如何使用MFC来读取和写入注册表值的基本步骤:

写入注册表值

  1. 创建或打开注册表项:
    使用 CRegKey::CreateCRegKey::Open 方法来创建或打开一个注册表项。

  2. 写入值:
    使用 CRegKey::SetStringValue, CRegKey::SetDWORDValue, 等方法来写入不同类型的值。

  3. 关闭注册表项:
    使用 CRegKey::Close 方法关闭注册表项。

读取注册表值

  1. 打开注册表项:
    使用 CRegKey::Open 方法打开一个注册表项。

  2. 读取值:
    使用 CRegKey::QueryStringValue, CRegKey::QueryDWORDValue, 等方法来读取不同类型的值。

  3. 关闭注册表项:
    使用 CRegKey::Close 方法关闭注册表项。

示例代码

以下是一个简单的示例,展示了如何在MFC中读写注册表:

#include <afx.h>
#include <afxwin.h>  // MFC核心和标准组件

void WriteRegistryValue(const CString& keyPath, const CString& valueName, const CString& value) {
   
    CRegKey key;
    if (key.Create(HKEY_CURRENT_USER, keyPath) == ERROR_SUCCESS) {
   
        key.SetStringValue(valueName, value);
        key.Close();
    }
}

CString ReadRegistryValue(const CString& keyPath, const CString& valueName) {
   
    CString value;
    CRegKey key;
    if (key.Open(HKEY_CURRENT_USER, keyPath, KEY_READ) == ERROR_SUCCESS) {
   
        TCHAR buffer[256];
        ULONG len = 256;
        if (key.QueryStringValue(valueName, buffer, &len) == ERROR_SUCCESS) {
   
            value = buffer;
        }
        key.Close();
    }
    return value;
}

在这个示例中:

  • WriteRegistryValue 函数接受注册表项路径、值的名称和要写入的值,并将其写入注册表。
  • ReadRegistryValue 函数读取给定路径和值名称下的注册表项的值。

请记住,当你在读写注册表时,特别是在 HKEY_LOCAL_MACHINE 和其他系统级别的键时,你可能需要管理员权限。同时,错误处理非常重要,以确保你的应用在遇到无法访问或不存在的键时能够妥善处理这些情况。

调用:

#define KEY_PATH  _T("Software\\MyApplication")
#define VALUE_NAME _T("PW_MD5")

WriteRegistryValue(KEY_PATH, VALUE_NAME, registerPassword);
registerPassword = ReadRegistryValue(KEY_PATH, VALUE_NAME); registerPassword.ReleaseBuffer();

相关推荐

  1. MFC 注册表

    2023-12-05 17:10:06       36 阅读
  2. MFC程序中CStdioFile文件的

    2023-12-05 17:10:06       25 阅读
  3. Mac OS 开启原生NTFS功能

    2023-12-05 17:10:06       16 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-05 17:10:06       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-05 17:10:06       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-05 17:10:06       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-05 17:10:06       20 阅读

热门阅读

  1. Python实现人工蜂群算法

    2023-12-05 17:10:06       40 阅读
  2. WebSocket

    2023-12-05 17:10:06       42 阅读
  3. 云原生之深入解析Jenkins多分支管道

    2023-12-05 17:10:06       32 阅读
  4. 电脑耳机和音响怎么同时使用

    2023-12-05 17:10:06       43 阅读
  5. 暴力破解攻击与彩虹表攻击

    2023-12-05 17:10:06       36 阅读
  6. 4、单例模式(Singleton Pattern)

    2023-12-05 17:10:06       38 阅读