在设置无效值时,注册表项将采用默认值

will registry key take default value upon setting invalid value

本文关键字:默认值 注册表 设置 无效      更新时间:2023-10-16

我正在设置具有无效值的注册表项(使用REG_SZ设置REG_DWORD键值)。注册表将保留它之前拥有的值,还是将其重置为默认值?

例如

。我已经设置了REG_DWORD键,并将其设置为值'4'。该键的默认值是'2'。现在,当我尝试使用api 'RegSetValueEx(…)'设置此键时,REG_SZ值无效。设定是成功的。现在,如果我得到这个键值,这将是一个默认值'2'或将是以前的设置值'4'??

RegSetValueEx设置注册表项下指定值的数据和类型

它只会将存储值的类型更改为REG_SZ并设置您指定的值,它不会检查之前的值或类型。当你读取这个值的时候你会得到你在那里设置的最后一个值。REG_SZ没有'invalid'这回事。

也忘了'键的默认值'。不是你想的那样。这是,而不是,如果某些操作失败,API将返回的值,它只是一个匿名值的花哨名称。