头文件
#include<windows.h>
1. RegOpenKeyEx
函数功能
RegOpenKeyEx,是计算机用语,用于打开一个指定的注册表键。
函数原型
LONG RegOpenKeyEx(
HKEY hKey, // 需要打开的主键的名称
LPCTSTR lpSubKey, //需要打开的子键的名称
DWORD ulOptions, // 保留,设为0
REGSAM samDesired, // 安全访问标记,也就是权限
PHKEY phkResult // 得到的将要打开键的句柄
)
函数参数
hKey
[输入] 当前打开或者以下预定义的键。
HKEY_CLASSES_ROOT
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS
HKEY_CURRENT_CONFIG
lpSubKey
[输入] 以null结尾的字符串指针,包含要打开的注册表子项的名称。如果参数设置为NULL 或者指向一个空字符串,该函数将打开由hKey参数标识的键的新句柄。这种情况下,函数不会关闭先前已经打开的句柄。
ulOptions
保留,必须设置为 0
samDesired
[输入] 对指定键希望得到的访问权限的访问标记。 这个参数可以使下列值的联合。
值 Meaning
phkResult
[输出] 指向一个接收到打开的键的句柄的变量的指针。当您不再需要返回的句柄时,调用RegCloseKey函数来关闭它。
返回值
函数调用成功,则返回0(ERROR_SUCCESS)。
否则,返回值为文件WINERROR.h中定义的一个非零的错误代码。
代码举例
HKEY hKey = NULL;
LONG lRes = RegOpenKeyExA(
HKEY_LOCAL_MACHINE,
"SOFTWARE",
0,
KEY_READ | KEY_WOW64_32KEY,
&hKey);
备注:HKEY_LOCAL_MACHINE
在微软的Windows操作系统中,HKEY_LOCAL_MACHINE保存了注册表里的所有与这台计算机有关的配置信息,只是一个公共配置信息单元。
HKEY_LOCAL_MACHINE根键包含5个子键,分别为HARDWARE子键、SAM子键、SECURITY子键、SOFTWARE子键和SYSTEM子键。
HKEY_LOCAL_MACHINE是一个显示控制系统和软件的处理键。
2. RegQueryValueExA
函数功能
检索一个已打开的注册表句柄中,指定的注册表键的类型和设置值
函数原型
LONG WINAPI RegQueryValueEx(
HKEY hKey, //一个已打开项的句柄,或者指定一个标准项名
LPCTSTR lpValueName, //要查询注册表键值的名字字符串,注册表键的名字,以空字符结束。
LPDWORD lpReserved, //未用,设为零
LPDWORD lpType, //用于装载取回数据类型的一个变量
LPBYTE lpData, //用于装载指定值的一个缓冲区
LPDWORD lpcbData //用于装载lpData缓冲区长度的一个变量
);
函数参数备注
如果lpValueName是NULL或空字符串“”,函数将检索键的未命名或默认值(如果有的话)的类型和数据。
返回值
返回值
Long,零(ERROR_SUCCESS)表示成功。
其他任何值都代表一个错误代码
3. RegCloseKey
函数功能
释放指定注册键的句柄。
函数原型
LONG RegCloseKey(
HKEY hKey // 释放键的句柄
);
函数参数
hKey : [输入] 想要关闭的已经打开的键。
返回值
如果过程执行成功,返回值是 ERROR_SUCCESS。
如果功能失败,返回一个非零值,错误码在 Winerror.h 定义。可以使用FormatMessage 函数和FORMAT_MESSAGE_FROM_SYSTEM 标记获得一个分类的错误描述。