Win32 SDK注册表操作——RegOpenKey
2007-06-14 16:34
405 查看
RegOpenKeyEx 函数打开一个指定键。
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 为新键指定一个描述安全的存取掩码。这个参数可以由下列的值组合成而:
phkResult 指定一个变量来接收已打开键的句柄。当你对返回句柄不太长时,调用注册表操作/regapi_5fax.htm">RegCloseKey函数关闭它。
如果函数调用失败,返回一个非零的错误代码(定义在WINERROR.H文件中)。你可以使用带有FORMAT_MESSAGE_FROM_SYSTEM标记的注册表操作/strings_0sdh.htm">FormatMessage函数来获得一个错误的普通描述。
Windows: 需要Windows 95或更高版本。
Windows CE: 需要1.0或更高版本。
头文件: winreg.h。
输入库:advapi32.lib.
Unicode: Windows NT版本中作为Unicode和ANSI执行。
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的组合。 |
返回值
如果函数取得成功,返回ERROR_SUCCESS。如果函数调用失败,返回一个非零的错误代码(定义在WINERROR.H文件中)。你可以使用带有FORMAT_MESSAGE_FROM_SYSTEM标记的注册表操作/strings_0sdh.htm">FormatMessage函数来获得一个错误的普通描述。
注意
与RegCreateKeyEx函数不同,如果在注册表中指定的键不存在RegOpenKeyEx函数不会新建指定键。快速信息
Windows NT: 需要3.1或更高版本。Windows: 需要Windows 95或更高版本。
Windows CE: 需要1.0或更高版本。
头文件: winreg.h。
输入库:advapi32.lib.
Unicode: Windows NT版本中作为Unicode和ANSI执行。
相关文章推荐
- Win32 SDK注册表操作——RegOpenKeyEx
- 八:Win32 SDK注册表操作——RegQueryValueEx
- Win32 SDK注册表操作——RegQueryValueEx
- Win32 SDK注册表操作——RegCloseKey
- Win32 SDK注册表操作——RegOpenKeyEx
- c++添加开机启动项,win32 api操作注册表,读写注册表
- Win32汇编--操作注册表
- 注册表操作(VC_Win32)
- Win32汇编--操作注册表
- 注册表操作(VC_Win32)
- 注册表操作(VC_Win32)
- 注册表操作(VC_Win32)
- 注册表操作(VC_Win32)
- 注册表操作(VC_Win32)
- Win32 API 常用函数之三——注册表操作(上)
- 注册表操作(VC_Win32)
- 注册表操作(VC_Win32)
- 注册表操作(VC_Win32)
- 注册表操作(VC_Win32)
- 注册表操作(VC_Win32)