删除注册表中的(默认)条目会导致系统不稳定吗?

删除注册表中的(默认)条目会导致系统不稳定吗?

注册项有什么意义(Default)

例如,在HKCU\Software\Microsoft\Windows\CurrentVersion\Run

在此处输入图片描述

我删除该条目可以吗(Default)

会不会造成系统不稳定?

答案1

这取决于(Default)您删除哪些值,就像任何注册表值/键/配置单元一样。

除了可以使用 RegSetValueEx 函数在注册表项下创建的所有命名值之外,还有所谓的默认值,您可以通过将 NULL 或指向空字符串的指针作为 lpValue 传递来获取该默认值。此默认值也是调用 RegSetValue 和 RegQueryValue 时设置和检索的值。这个默认值有什么用呢?

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

在转换为 Win32 的过程中,注册表获得了新功能,例如以简单字符串以外的格式存储数据,以及将多部分数据存储在单个键下,并使用名称来区分它们。过去被简单地称为“注册表键的值”(因为只有一个,所以不需要给它命名)现在被赋予了特殊名称默认值:它是名称为空的值。

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

MSDN 博客 - 旧事新说 - 为什么注册表项有默认值?

相关内容