学习目的

  1. 了解 Windows 注册表的概念
  2. 了解 Windows 注册表的作用

注册表的概念

历史发展

在 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 编辑器打开。文件如何与指定的应用软件关联起来,就是注册表的作用之一。

Windows 注册表是什么?它的作用是什么?的更多相关文章

  1. Windows注册表的基本知识及应用

    转帖:Windows注册表的基本知识及应用 2009-12-23 11:30:56 分类: Windows注册表的基本知识及应用  一.注册表的重要性 在DOS年代,对计算机的内存管理及系统配置主要通 ...

  2. 1.3 Windows注册表

    如何打开Windows注册表呢? 方法一:Win+R打开命令行,再输入regetdit,回车. 方法二:打开计算机,进入系统所在盘,进入Windows\System32文件夹,找到regedt32,双 ...

  3. 10#Windows注册表的那些事儿

    引言 用了多年的Windows系统,其实并没有对Windows系统进行过深入的了解,也正是由于Windows系统不用深入了解就可以简单上手所以才有这么多人去使用.笔者是做软件开发的,使用的基本都是Wi ...

  4. [转帖]Windows注册表内容详解

    Windows注册表内容详解 来源:http://blog.sina.com.cn/s/blog_4d41e2690100q33v.html 对 windows注册表一知半解 不是很清晰 这里学习一下 ...

  5. Windows注册表内容详解

    Windows注册表内容详解 http://blog.sina.com.cn/s/blog_4d41e2690100q33v.html (2011-04-05 10:46:17)   第一课  注册表 ...

  6. 详解Windows注册表分析取证

    大多数都知道windows系统中有个叫注册表的东西,但却很少有人会去深入的了解它的作用以及如何对它进行操作.然而对于计算机取证人员来说注册表无疑是块巨大的宝藏.通过注册表取证人员能分析出系统发生了什么 ...

  7. Windows注册表内容详解(转载)

    (关于windows注册表的整理,来源网络) 前提 一.什么是注册表 ​ 注册表是windows操作系统.硬件设备以及客户应用程序得以正常运行和保存设置的核心"数据库",也可以说是 ...

  8. 一些实用的Windows注册表

    一些实用的Windows注册表 1.去掉快捷方式文件名后面自动添加的"-快捷方式" 在给某个文件创建快捷方式时(选中文件-->右键-->发送到-->桌面快捷方式) ...

  9. 使用Java修改Windows注册表

    使用Java修改Windows注册表,使用最基本的就是cmd命令. 事例和运行结果如下所示: package day01; import java.io.IOException; /* 1,reg a ...

随机推荐

  1. singlelinklist

    C++实现单链表 阅读先知 链表是一种动态数据结构,他的特点是用一组任意的存储单元(可以是连续的,也可以是不连续的)存放数据元素. 链表中每一个元素成为"结点",每一个结点都是由数 ...

  2. 【进阶】Spring中的注解与反射

    [进阶]Spring中的注解与反射 目录 [进阶]Spring中的注解与反射 前言 一.内置(常用)注解 1.1@Overrode 1.2@RequestMapping 1.3@RequestBody ...

  3. Python 3函数的参数冒号注释

    Python 3.7版本,函数的参数可以通过冒号来进行注释 def f(ham: str, eggs: str = 'eggs') -> str : print("Annotation ...

  4. RocketMQ的基本使用

    第一步导入依赖: <!--Springboot 集成 RocketMQ依赖--> <dependency> <groupId>org.apache.rocketmq ...

  5. 【C#/VB.NET】 将PDF转为SVG/Image, SVG/Image转PDF

    SVG是一种图形文件格式,它的英文全称为Scalable Vector Graphics,意思为可缩放的矢量图形.它在放大或者改变尺寸的情况下其图形质量不会有所损失,且与 JPG 和 GIF 图像比起 ...

  6. mysql InnoDB通过.frm和.ibd恢复表和数据

    ibdata1是一个用来构建innodb系统表空间的文件,这个文件包含了innodb表的元数据.撤销记录.修改buffer和双写buffer.如果file-per-table选项打开的话,该文件则不一 ...

  7. 面向对象的封装(粘贴Markdown代码解决缩进问题)

    直接粘贴idea的代码会导致缩进错乱,建议先粘贴到记事本再粘贴到笔记!!! 1.先将属性私有化,再对外提供简单的接口可以访问内部.如set.get方法 2.set方法:修改年龄 public void ...

  8. NC15553 数学考试

    NC15553 数学考试 题目 题目描述 今天qwb要参加一个数学考试,这套试卷一共有 \(n\) 道题,每道题qwb能获得的分数为 \(a_i\) ,qwb并不打算把这些题全做完, 他想选总共 \( ...

  9. 使用Scrcpy投屏

    下载Scrcpy: https://wwt.lanzouw.com/iAzie07bz85c官网地址: https://github.com/Genymobile/scrcpy 记录当前下载位置: 手 ...

  10. Lambda表达式有参数有返回值的练习(自定义接口)和Lambda省略格式&Lambda使用前提

    给定一个计算器Calculator接口,内含抽象方法calc可以将两个int数字相加得到和值 使用L ambdo的标准格式调用invokeCalc方法,完成120和130的相加计算 public in ...