您的位置:首页 > 运维架构

Win32 SDK注册表操作——RegOpenKey

2007-06-14 16:34 405 查看
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 指定一个变量来接收已打开键的句柄。当你对返回句柄不太长时,调用注册表操作/regapi_5fax.htm">RegCloseKey函数关闭它。

返回值

如果函数取得成功,返回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执行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: