RegSetValueEx

【勇芳软件工作室】汉化HomePreviousNext

RegSetValueEx功能将数据存储在打开的注册表项的值字段中。它还可以为指定的键设置附加值和类型信息。

LONG RegSetValueEx(

HKEY 【的hKeyru-Latn】,//设置键值的句柄
LPCTSTR 【lpValueName】,//要设置的值的地址
DWORD 【保留的】,//保留
DWORD 【dwType】,//标记值类型
CONST BYTE *【的lpData】,//地址值数据
DWORD 【cbData】//值数据的大小
); 

参数

【的hKeyru-Latn】

标识当前打开的键或任何以下预定义保留句柄值:

HKEY_CLASSES_ROOT
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS

【lpValueName】

指向一个字符串,其中包含要设置的值的名称。如果该名称的值不存在于密钥中,则该函数将其添加到密钥中。

如果此参数为NULL或指向空字符串,并且【dwType】参数为REG_SZ类型,则此函数设置RegSetValue函数设置的相同值。

【保留的】

Reserved; must be zero.

【dwType】

指定要作为值的数据存储的信息的类型。此参数可以是以下值之一:

含义
REG_BINARY任何形式的二进制数据。
REG_DWORD一个32位数字。
REG_DWORD_LITTLE_ENDIAN32位数字的小端格式(与REG_DWORD相同)。在小端格式中,字的最高有效字节是高字节。这是运行Windows NT和Windows 95的计算机最常用的格式。
REG_DWORD_BIG_ENDIAN一个32位数字的big-endian格式。在big-endian格式中,一个字的最高有效字节是低位字节。
REG_EXPAND_SZ一个空值终止的字符串,包含对环境变量的未扩展引用(例如“%PATH%”)。它将是Unicode或ANSI字符串,具体取决于您是使用Unicode还是ANSI函数。
REG_LINK一个Unicode符号链接。
REG_MULTI_SZ由两个空字符终止的以null结尾的字符串数组。
REG_NONE没有定义的值类型。
REG_RESOURCE_LIST设备驱动程序资源列表。
REG_SZ一个空值终止的字符串。它将是Unicode或ANSI字符串,具体取决于您是使用Unicode还是ANSI函数。

【的lpData】

指向包含要使用指定值名称存储的数据的缓冲区。

【cbData】

指定【的lpData】参数指向的信息的大小(以字节为单位)。如果数据类型为REG_SZ,REG_EXPAND_SZ或REG_MULTI_SZ,则【cbData】必须包含终止空字符的大小。

返回值

如果函数成功,则返回值为ERROR_SUCCESS。

如果函数失败,返回值是在WINERROR.H中定义的非零错误代码。您可以使用带有FORMAT_MESSAGE_FROM_SYSTEM标志的FormatMessage函数来获取错误的一般描述。

备注

值长度受可用内存限制。长值(超过2048个字节)应作为文件存储,并将文件名存储在注册表中。这有助于注册表高效地执行。应用程序元素(如图标,位图和可执行文件)应作为文件存储,而不是放在注册表中。

【的hKeyru-Latn】参数确定的密钥必须已通过KEY_SET_VALUE访问权限打开。要打开该键,请使用RegCreateKeyExRegOpenKeyEx功能。

如果【dwType】是REG_SZ,REG_MULTI_SZ或REG_EXPAND_SZ类型,并且使用此函数的ANSI版本(在包括WINDOWS.H文件之前通过显式调用RegSetValueEx【不】定义Unicode),指向的数据【的lpData】参数必须是ANSI字符串。字符串在存储在注册表中之前被转换为Unicode。

也可以看看

RegCreateKeyEx, RegFlushKey, RegOpenKeyEx, RegQueryValue, RegQueryValueEx, RegSetValue