注册表的概念

历史发展

在 Windows 3.x 操作系统中,注册表是一个极小文件,其文件名为 Reg.dat,里面只存放了某些文件类型的应用程序关联,大部分的设置是被放在 win.ini、system.ini 等多个初始化 ini 文件中。

由于这些初始化文件不便于管理和维护,时常出现一些因 ini 文件遭到破坏而导致系统无法启动的问题。因此,在 Windows 95 之后的系统中,将 ini 文件中的大部分设置移植到了注册表中。

注册表在 Windows 操作系统的启动、运行过程中起着重要的作用。如果注册表受到了破坏,轻则使 Windows 的启动过程出现异常,重则可能导致整个 Windows 系统的完全瘫痪。

存储结构

注册表由键、子键和值项构成。一个键下有许多的子键,这些子健同样也是一个键,下面也有许多的子健,呈现出一个树形结构,与 Windows 文件的组织结构相同

一个值项则是一个键的当前定义,由名称、数据类型以及分配的值组成。一个键可以有一个或多个值项,每个值项的名称各不相同,如果一个值项的名称为空,则该值项为该键的默认值。

值项的数据类型主要有以下四种:

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

注册表的组成

注册表主要由五大部分组成,都是以 HKEY 开头,每个主键当中都包含每一特殊种类的信息。

注册表的五大主键以及含义,移步百度百科

注册表的作用

Windows 注册表实际上是一个庞大的数据库,主要存储以下内容:

  1. 存储用户计算机软、硬件的有关配置和状态信息。
  2. 应用程序和资源管理器外壳的初始条件、首选项和卸载数据。
  3. 计算机的整个系统的设置和各种许可。
  4. 文件扩展名与应用程序的关联。
  5. 硬件的描述、状态和属性。
  6. 计算机性能记录和底层的系统状态信息。
  7. 以及各类其他数据。

用户安装一个应用软件就会在注册表上登记信息,例如,Bindizip 的一些配置信息就在注册表中存储着:

Bindizip 的临时文件夹存储在 C 盘,直接修改注册表也可,在 Bindizip 内进行设置也可。

Windows 中有许许多多的文件,不同的文件需要使用不同的应用软件打开,例如,.html 文件默认是浏览器打开的,但是作为程序员希望一直以 VSCode 编辑器打开。文件如何与指定的应用软件关联起来,就是注册表的作用之一。

最新文章

  1. iOS App引导页功能实现
  2. FTF登入tiny210开发板
  3. Could not load file or assembly 'System.Data.SQLite' or one of its dependencies. 试图加载格式不正确的程序。
  4. K-Anonymous Sequence(poj 3709)
  5. (转)RabbitMQ消息队列的小伙伴: ProtoBuf(Google Protocol Buffer)
  6. MySQL的数据库引擎的类型及区别
  7. 【JSP&Servlet学习笔记】4.会话管理
  8. javascript--烟火效果
  9. 菜鸟运维笔记:安装MySQL,PHP及phpMyAdmin
  10. Eclipse 打开文件所在文件夹
  11. multisim&proteus&protel比较
  12. Bandit Wargame Level24 Writeup(brute-forcing with shell)
  13. 翻译:JVM虚拟机规范1.7中的运行时常量池部分(二)
  14. Scrapy-redis 分布式
  15. sourceTree 代码未同步合并
  16. js变量和函数声明的提升
  17. matlab-画一个圆
  18. sql储存过程in(多个参数)
  19. 【学习博客】Python学习初体验
  20. nyoj-1250-exgcd

热门文章

  1. 【每日一题】【动态规划】2022年1月30日-NC127 最长公共子串
  2. 【每日一题】【快速排序过程、循环过程无=、递归参数】2022年1月16日-NC140 排序
  3. Java-递归查询法
  4. Python3.7.3环境搭建
  5. 使用 BenchmarkDotNet 比较指定容量的 List 的性能
  6. 【转载】ADOX.Catalog中文帮助详细说明chm文档
  7. 对Asp.net WebApi中异步(async+await)接口实际使用及相关思考(示例给出了get,post,提交文件,异步接口等实践).
  8. Android录屏实现
  9. 使用 GPG 签名提交
  10. 高并发解决方案orleans实践