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