RegOpenKey函数打开给定键。这个函数与Windows 3.1兼容。基于Win32的应用程序应该使用RegOpenKeyEx函数。
LONG RegOpenKey(
HKEY hKey, // 要打开键的句柄
LPCTSTR lpSubKey, // 要打开子键的名字的地址
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
被RegOpenKey函数打开地键是能被hKey识别的子键。
- lpSubKey
- 指向包含了要打开键的名字的以空字符结束的字符串。这个键必须是能被hKey参数识别的子键。如果这个参数为NULL或指向一个空字符串,函数返回与被传递相同的句柄。
- phkResult
- 指向一个接收被打开键句柄的变量。当你不再需要返回句柄时,调用RegCloseKey函数关闭它。
返回值
如果调用成功,返回ERROR_SUCCESS。
如果调用失败,返回一个非零错误码(定义在WINERROR.H)。你可以使用带有FORMAT_MESSAGE_FROM_SYSTEM标记的FormatMessage函数获得普通错误描述信息。
注意
RegOpenKey函数使用默认的安全存取掩码打开一个键。如果打开的键需要一个不同的掩码,函数将发生错误,返回ERROR_ACCESS_DENIED。在这种情形下一个应用程序应该使用RegOpenKeyEx函数去指定存取掩码。
为像RegCreateKey函数,如果键在数据库不存在时,RegOpenKey不能新建给定键。
快速信息
Windows NT: 需要3.1或更高版本。
Windows: 需要Windows 95或更高版本。
Windows CE: 不支持。
文件头: winreg.h。
输入库: advapi32.lib。
Unicode: 在Windows NT中作为Unicode和ANSI执行。
参见
Registry Overview, Registry Functions, RegCloseKey, RegCreateKey, RegCreateKeyEx, RegDeleteKey, RegOpenKeyEx