Windows注册表的基本概念

1 关于注册表

注册表是Windows系统中重要的数据配置存储结构,存储着系统绝大部分的核心配置信息。

实际上也是一种文件,这些文件大多数存储在系统盘system32\config目录下,

如笔者系统安装在C盘,那这个目录就是C:\Windows\System32\config。

Hive方式

在该文件夹下可以看到SOFTWARE、SYSTEM、SAM等文件,这些文件被以内存映射的方式映射到内核空间。

然后以一种被称为“HIVE”的方式组织起来,注册表API实际上操作的是这份HIVE内存数据,

对HIVE数据的改动,最终会被回写到config目录下对应的文件中。

读者如果只是想单纯使用注册表做数据读取或存储,可以没有必要深入去研究内核对注册表的实现方式。

”Microsoft Windows中的一个重要的数据库”

注册表是Windows操作系统中的一个核心数据库,用于存储系统和应用程序的设置信息。

直接控制着Windows的启动、硬件驱动程序的装载、一些Windows应用程序的运行,从而在整个系统中起着核心作用。

这些作用包括了软、硬件的相关配置和状态信息,比如注册表中保存有应用程序和资源管理器外壳的初始条件、首选项和卸载数据等,

联网计算机的整个系统的设置和各种许可,文件扩展名与应用程序的关联,硬件部件的描述、状态和属性,

性能记录和其他底层的系统状态信息,以及其他数据等。

2 注册表的数据结构

注册表由项(也叫主键或称“键”)、子项(子键)和值构成。

一个项就是一个文件夹,而子项就是这个文件夹当中的子文件夹。子项也是一个项。

一个值则是一个项的当前定义,由名称、数据类型、分配的数据值组成。

一个项可以有一个或多个值,每个值的名称各不相同,如果一个值的名称为空,则该值为该项的默认值。

2.1 注册表的数据类型主要有以下四种:

REG_SZ: 字符串:文本字符串
REG_MULTI_SZ: 多字符串值:含有多个文本值的字符串
REG_BINARY: 二进制数:二进制值,以十六进制显示,
REG_DWORD: 双字值;一个32位的二进制值,显示为8位的十六进制值。

3 相关术语

  • HKEY

根键”或“主键

  • key(键)

它包含了附加的文件夹和一个或多个值。

在某一个键(父键)下面出现的键(子键)

  • branch(分支)

代表一个特定的子键及其所包含的一切。一个分支可以从每个注册表的顶端开始,但通常用以说明一个键和其所有内容。

带有一个名称和一个值的有序值。每个键都可包含任何数量的值项。每个值项均由三部分组成:名称,数据类型,数据。

在注册表中,字符串值一般用来表示文件的描述、硬件的标识等。通常它由字母和数字组成。

4 注册表有5个根键(HKEY)

  • HKEY_CLASSES_ROOT

    启动应用程序所需的全部信息,如扩展名,应用程序与文档之间的关系,驱动程序名,DDE和OLE信息,类ID编号和应用程序与文档的图标等。

  • HKEY_CURRENT_USER

    当前登录用户的配置信息,如环境变量,个人程序以及桌面设置等。

  • HKEY_LOCAL_MACHINE

    本地计算机的系统信息,如硬件和操作系统信息,安全数据和计算机专用的各类软件设置信息。

  • HKEY_USERS

    计算机的所有用户使用的配置数据,这些数据只有在用户登录系统时才能访问。

  • HKEY_CURRENT_CONFIG

    当前硬件的配置信息,其中的信息是从HKEY_LOCAL_MACHINE中映射出来的。

posted @ 2024-03-29 14:28  AbendEssen29  阅读(127)  评论(0)    收藏  举报