RegSetValue函数将值与指定的键相关联。此值必须是文本字符串,不能有名称。此函数用于与Windows 3.1版兼容。基于Win32的应用程序应使用RegSetValueEx函数,该函数允许应用程序设置任意数量的任何数据类型的命名值。
LONG RegSetValue(
HKEY 【的hKeyru-Latn】, | //设置键值的句柄 |
LPCTSTR 【lpSubKey】, | //子项名称的地址 |
DWORD 【dwType】, | //值的类型 |
LPCTSTR 【的lpData】, | //地址值数据 |
DWORD 【cbData】 | //值数据的大小 |
); |
参数
【的hKeyru-Latn】
标识当前打开的键或任何以下预定义保留句柄值:
HKEY_CLASSES_ROOT
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS
【lpSubKey】
指向一个以null结尾的字符串,其中包含一个值与之相关联的子项的名称。此参数可以为null或指向空字符串的指针。在这种情况下,该值将被添加到由【的hKeyru-Latn】参数标识的键中。
【dwType】
指定要存储的信息的类型。此参数必须是REG_SZ类型。要存储其他数据类型,请使用RegSetValueEx功能。
【的lpData】
指向一个以null结尾的字符串,其中包含为指定键设置的值。
【cbData】
指定【的lpData】参数指向的字符串的长度(以字节为单位),不包括终止空字符。
返回值
如果函数成功,则返回值为ERROR_SUCCESS。
如果函数失败,返回值是在WINERROR.H中定义的非零错误代码。您可以使用带有FORMAT_MESSAGE_FROM_SYSTEM标志的FormatMessage函数来获取错误的通用描述。
备注
如果【lpSubKey】参数指定的键不存在,则RegSetValue函数将创建它。
值长度受可用内存限制。长值(超过2048个字节)应作为文件存储,并将文件名存储在注册表中。这有助于注册表高效地执行。
由【的hKeyru-Latn】参数确定的密钥必须已通过KEY_SET_VALUE访问权限打开。要打开该键,请使用RegCreateKeyEx或RegOpenKeyEx功能。如果使用此版本的ANSI版本(通过显式调用RegSetValue或在包含WINDOWS.H文件之前不定义Unicode),则【的lpData】参数必须是ANSI字符串。字符串在存储在注册表中之前被转换为Unicode。
也可以看看
RegCreateKeyEx, RegFlushKey, RegOpenKeyEx, RegQueryValue, RegQueryValueEx, RegSetValueEx