RegOpenKeyEx
(更多请见http://websl.126.com)
RegOpenKeyEx 函数打开一个指定键。
LONG RegOpenKeyEx(
HKEY hKey, // 要打开主键的句柄
LPCTSTR lpSubKey, // 要打开子键的地址名字
DWORD ulOptions, // 保留
REGSAM samDesired, // 安全存取掩码
PHKEY phkResult // 要打开键句柄的地址
);
参数
hKey
句柄是一个当前打开的键或下列已确定的保留句柄值:
HKEY_CLASSES_ROOT
HKEY_CURRENT_CONFIG
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS
Windows NT: HKEY_PERFORMANCE_DATA
Windows 95和Windows 98: HKEY_DYN_DATA
lpSubKey
指向一个要打开子键的名字(以空字符结束的字符串)。如果这个参数为空或指向一个空字符串,函数将打开一个能被hKey 参数识别的新键的句柄。在这个语法中,函数将不会关闭先前打开的句柄。
ulOptions
保留;必须是零。
samDesired
为新键指定一个描述安全的存取掩码。这个参数可以由下列的值组合成而:
值
含意
KEY_ALL_ACCESS
相当于KEY_QUERY_VALUE, KEY_ENUMERATE_SUB_KEYS, KEY_NOTIFY, KEY_CREATE_SUB_KEY, KEY_CREATE_LINK, KEY_SET_VALUE的组合。
KEY_CREATE_LINK
允许新建符号连接。
KEY_CREATE_SUB_KEY
允许新建子键。
KEY_ENUMERATE_SUB_KEYS
允许列举子键。
KEY_EXECUTE
允许读操作。
KEY_NOTIFY
允许修改。
KEY_QUERY_VALUE
允许查询子键数据。
KEY_READ
相当于KEY_QUERY_VALUE,KEY_ENUMERATE_SUB_KEYS,KEY_NOTIFY的组合
KEY_SET_VALUE
允许设置子键数据
KEY_WRITE
相当于KEY_SET_VALUE和KEY_CREATE_SUB_KEY的组合。
phkResult
指定一个变量来接收已打开键的句柄。当你对返回句柄不太长时,调用RegCloseKey函数关闭它。
返回值
如果函数取得成功,返回ERROR_SUCCESS。
如果函数调用失败,返回一个非零的错误代码(定义在WINERROR.H文件中)。你可以使用带有FORMAT_MESSAGE_FROM_SYSTEM标记的FormatMessage函数来获得一个错误的普通描述。
注意
与RegCreateKeyEx函数不同,如果在注册表中指定的键不存在RegOpenKeyEx函数不会新建指定键。
快速信息
Windows NT: 需要3.1或更高版本。
Windows: 需要Windows 95或更高版本。
Windows CE: 需要1.0或更高版本。
头文件: winreg.h。
输入库:advapi32.lib.
Unicode: Windows NT版本中作为Unicode和ANSI执行。
参见
Registry Overview, Registry Functions, RegCloseKey, RegCreateKeyEx, RegDeleteKey, RegOpenKey