我正在设置具有无效值的注册表项(使用 REG_SZ 设置 REG_DWORD 键值)。注册表会保留它之前拥有的值还是会将其重置为默认值?
例如。我已设置 REG_DWORD 键并将其设置为值“4”。此键的默认值为“2”。现在,当我尝试使用具有无效 REG_SZ 值的 api“RegSetValueEx(...)”设置此键时。设置成功。现在,如果我得到这个键值,它会是默认值“2”还是之前设置的值“4”??
最佳答案
RegSetValueEx Sets the data and type of a specified value under a registry key.
它只会将存储值的类型更改为 REG_SZ 并设置您指定的值,它不会检查之前存在的值或类型。因此,当您读取该值时,您将获得您在那里设置的最后一个值。不存在“无效”REG_SZ 这样的东西。
也忘记“键的默认值”。这不是你想的那样。这不是 API 在出现故障时返回的值,它只是匿名值的别致名称。
关于c++ - 设置无效值后,注册表项是否会采用默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7076340/