Win32 SDK注冊表操作――RegCreateKey
RegCreateKey函數新建給定鍵。如果這個鍵在注冊表中已經存在,這個函數打開它。這個函數與Windows 3.1兼容。基于Win32的應用程序應該使用RegCreateKeyEx函數。
LONG RegCreateKey( 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
被RegCreateKey打開或新建的是被hKey識別的鍵的子鍵。
- lpSubKey
- 指向包含了要打開或新建鍵的名字的以空字符結束的字符串。這個鍵必須是能被hKey參數識別的子鍵。
如果hKey是已確定保留句柄值之一,lpSubKey可以為NULL。在這種情形下,函數phkResult返回與被傳遞相同的句柄。
- phkResult
- 指向接收打開或新建鍵的變量。當你不再需要返回句柄時,調用RegCloseKey函數關閉它
返回值
如果調用成功,返回ERROR_SUCCESS。
如果調用失敗,返回一個非零錯誤碼(定義在WINERROR.H)。你可以使用帶有FORMAT_MESSAGE_FROM_SYSTEM標記的FormatMessage函數獲得普通錯誤描述信息。
注意
一個應用程序可以使用RegCreateKey函數一次新建單獨鍵。如,一個應用程序可以在共一時間新建一個四級子鍵(包括給定鍵前面的三級)象以下的lpSubKey參數字符串:
subkey1subkey2subkey3subkey4
這個能被hKey參數識別的鍵必須被帶有KEY_CREATE_SUB_KEY存取權限打開(KEY_WRITE存取權限包括KEY_CREATE_SUB_KEY存取權限)。
如果lpSubKey參數是一個空字符串的地址,函數打開并傳遞能被hKey參數識別的鍵。
快速信息
Windows NT: 需要3.1或更高版本。
Windows: 需要Windows 95或更高版本。
Windows CE: 不支持。
文件頭: winreg.h
輸入庫: advapi32.lib.
Unicode: 在Windows NT中作為Unicode和ANSI執行。