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执行。