6.5.12. 注册表¶
6.5.12.1. 简介¶
注册表(Registry)是包含操作系统和其它软件的所有设置和配置相关数据的目录。
注册表的逻辑结构类似于磁盘上的文件系统。注册表包含了键(key)和值(value)。其中键类似文件系统中的目录,而值就像文件,键可以包含子键(subkey)和值。值中存储着配置数据,数据有多种类型。最顶层的键称为根键(root key)。
涉及到注册表的有:
在启动时,boot loader从注册表中读取数据。
内核启动时,内核驱动从注册表中读取配置。
在登陆时,读取网络驱动设置、墙纸、菜单、启动项等。
在应用启动时,读取各种配置文件。
6.5.12.2. 数据类型¶
- REG_NONE
没有值
- REG_SZ
固定长度 Unicode
- REG_EXPAND_SZ
可变长度 Unicode
- REG_BINARY
任意长度二进制数据
- REG_DWORD
32 bit 数字
- REG_DWORD_BIG_ENDIAN
32 bit 数字,大端
- REG_LINK
Unicode 符号链接,指向另一个注册表项
- REG_MULTI_SZ
Unicode 字符串
- REG_RESOURCE_LIST
硬件资源描述
- REG_FULL_RESOURCE_DESCRIPTOR
硬件资源描述
- REG_RESOURCE_REQUIREMENTS_LIST
资源需求
- REG_QWORD
64 bit 数字
6.5.12.3. root key¶
- HKEY_CURRENT_USER:和当前登陆用户有关的数据
AppEvents:事件关联
Console:控制台设定
Control Panel:控制面板
Environment:环境变量
EUDC:用户定义字符
Identities:Windows Mail账户信息
Keyboard Layout:键盘布局
Network:网络驱动信息
Printers:打印机
Software:软件
Volatile Environment:可变的环境变量
HKEY_USERS:所有用户有关的数据
- HKEY_CLASSES_ROOT
文件后缀关联
COM(Component Object Model)注册
UAC
- HKEY_LOCAL_MACHINE:系统相关的数据
HKLMBCD00000000
HKLMCOMPONENTS
HKLMHARDWARE
HKLMSAM
HKLMSECURITY
HKLMSOFTWARE
HKLMSYSTEM
HKEY_PERFORMANCE_DATA:性能相关的数据
HKEY_CURRENT_CONFIG:当前配置文件