我打开后看到regedit
每个注册表项都有一个“(默认)”值,其中填充了“未设置值”。
此键始终是第一个。
所以我有几个问题:
这个 Key 为什么存在?
这个钥匙有什么用呢?
它可以被覆盖吗/这是一个好主意吗?
答案1
Windows(Default)
注册表项是什么?
这个 Key 为什么存在?
最初的 16 位注册表没有命名值。它只有键,每个键都关联一个数据:字符串。操作这些数据的函数是
RegSetValue
和RegQueryValue
,这解释了为什么这些函数 (1) 没有参数lpValue
和 (2) 仅设置和检索字符串数据。因为在 16 位世界中,这就是你所拥有的一切。
在转换为 Win32 的过程中,注册表获得了新的功能,例如以简单字符串以外的格式存储数据,以及在单个键下存储多份数据,并使用名称来区分它们。
过去简单地称为“注册表项的值”(因为只有一个,所以不需要给它命名)现在采用特殊名称默认值:它是名称为空的值。
这个钥匙有什么用呢?
除了名称不寻常之外,默认值没有什么特别之处。命名值不需要存在,如果存在,数据类型可以是任何类型。同样,默认值也不需要存在,其类型可以是任何类型。此时,它只是一个名称奇怪的值。
它可以被覆盖吗/这是一个好主意吗?
这样做毫无意义。见上文。