每个 Windows 注册表项的“(默认)”项是什么

每个 Windows 注册表项的“(默认)”项是什么

我打开后看到regedit每个注册表项都有一个“(默认)”值,其中填充了“未设置值”。

此键始终是第一个。

所以我有几个问题:

  1. 这个 Key 为什么存在?

  2. 这个钥匙有什么用呢?

  3. 它可以被覆盖吗/这是一个好主意吗?

答案1

Windows(Default)注册表项是什么?

这个 Key 为什么存在?

最初的 16 位注册表没有命名值。它只有键,每个键都关联一个数据:字符串。操作这些数据的函数是RegSetValueRegQueryValue,这解释了为什么这些函数 (1) 没有参数lpValue和 (2) 仅设置和检索字符串数据。因为在 16 位世界中,这就是你所拥有的一切。

在转换为 Win32 的过程中,注册表获得了新的功能,例如以简单字符串以外的格式存储数据,以及在单个键下存储多份数据,并使用名称来区分它们。

过去简单地称为“注册表项的值”(因为只有一个,所以不需要给它命名)现在采用特殊名称默认值:它是名称为空的值。

这个钥匙有什么用呢?

除了名称不寻常之外,默认值没有什么特别之处。命名值不需要存在,如果存在,数据类型可以是任何类型。同样,默认值也不需要存在,其类型可以是任何类型。此时,它只是一个名称奇怪的值。

它可以被覆盖吗/这是一个好主意吗?

这样做毫无意义。见上文。

来源为什么注册表项有默认值? - The Old New Thing

相关内容