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