注册表的结构

注册表是一个分层数据库,其中包含对 Windows作以及 Windows 上运行的应用程序和服务至关重要的数据。 数据以树格式进行结构化。 树中的每个节点称为 。 每个键可以同时包含 子项 和数据条目,称为 。 有时,密钥的存在是应用程序所需的所有数据;其他时候,应用程序会打开一个密钥,并使用与密钥关联的值。 键可以具有任意数量的值,并且这些值可以采用任意形式。 有关详细信息,请参阅 注册表值类型注册表元素大小限制

每个键的名称由一个或多个可打印字符组成。 键名称不区分大小写。 键名称不能包含反斜杠字符(\),但可以使用任何其他可打印字符。 值名称和数据可以包含反斜杠字符。

每个子项的名称对于层次结构中紧邻的键是唯一的。 键名称未本地化为其他语言,尽管值可能已本地化。

下图是注册表编辑器显示的示例注册表项结构。

注册表编辑器窗口

我的计算机 下的每棵树都是一个关键。 HKEY_LOCAL_MACHINE 密钥具有以下子项:HARDWARESAMSECURITYSOFTWARESYSTEM。 每个键反过来都有子项。 例如,HARDWARE 密钥具有子项 DESCRIPTIONDEVICEMAPRESOURCEMAP;DEVICEMAP 键具有多个子项,包括 VIDEO

每个值都包含一个值名称及其关联的数据(如果有)。 MaxObjectNumberVgaCompatible 是包含 VIDEO 子项下的数据的值。

注册表树可以深 512 个级别。 可以通过单个注册表 API 调用一次最多创建 32 个级别。

Windows 注册表 概述