RegOpenKey函數(shù)打開給定鍵。這個函數(shù)與Windows 3.1兼容。基于Win32的應用程序應該使用RegOpenKeyEx函數(shù)。
LONG RegOpenKey(
HKEY hKey, // 要打開鍵的句柄
LPCTSTR lpSubKey, // 要打開子鍵的名字的地址
PHKEY phkResult // 要打開鍵的句柄的地址
);
參數(shù)
- 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函數(shù)打開地鍵是能被hKey識別的子鍵。
- lpSubKey
- 指向包含了要打開鍵的名字的以空字符結束的字符串。這個鍵必須是能被hKey參數(shù)識別的子鍵。如果這個參數(shù)為NULL或指向一個空字符串,函數(shù)返回與被傳遞相同的句柄。
- phkResult
- 指向一個接收被打開鍵句柄的變量。當你不再需要返回句柄時,調(diào)用RegCloseKey函數(shù)關閉它。
返回值
如果調(diào)用成功,返回ERROR_SUCCESS。
如果調(diào)用失敗,返回一個非零錯誤碼(定義在WINERROR.H)。你可以使用帶有FORMAT_MESSAGE_FROM_SYSTEM標記的FormatMessage函數(shù)獲得普通錯誤描述信息。
注意
RegOpenKey函數(shù)使用默認的安全存取掩碼打開一個鍵。如果打開的鍵需要一個不同的掩碼,函數(shù)將發(fā)生錯誤,返回ERROR_ACCESS_DENIED。在這種情形下一個應用程序應該使用RegOpenKeyEx函數(shù)去指定存取掩碼。
為像RegCreateKey函數(shù),如果鍵在數(shù)據(jù)庫不存在時,RegOpenKey不能新建給定鍵。
快速信息
Windows NT: 需要3.1或更高版本。
Windows: 需要Windows 95或更高版本。
Windows CE: 不支持。
文件頭: winreg.h。
輸入庫: advapi32.lib。
Unicode: 在Windows NT中作為Unicode和ANSI執(zhí)行。
參見
Registry Overview, Registry Functions, RegCloseKey, RegCreateKey, RegCreateKeyEx, RegDeleteKey, RegOpenKeyEx