Windows 注册表是什么?它的作用是什么?
学习目的
- 了解 Windows 注册表的概念
- 了解 Windows 注册表的作用
注册表的概念
历史发展
在 Windows 3.x 操作系统中,注册表是一个极小文件,其文件名为 Reg.dat,里面只存放了某些文件类型的应用程序关联,大部分的设置是被放在 win.ini、system.ini 等多个初始化 ini 文件中。
由于这些初始化文件不便于管理和维护,时常出现一些因 ini 文件遭到破坏而导致系统无法启动的问题。因此,在 Windows 95 之后的系统中,将 ini 文件中的大部分设置移植到了注册表中。
注册表在 Windows 操作系统的启动、运行过程中起着重要的作用。如果注册表受到了破坏,轻则使 Windows 的启动过程出现异常,重则可能导致整个 Windows 系统的完全瘫痪。
存储结构
注册表由键、子键和值项构成。一个键下有许多的子键,这些子健同样也是一个键,下面也有许多的子健,呈现出一个树形结构,与 Windows 文件的组织结构相同。
一个值项则是一个键的当前定义,由名称、数据类型以及分配的值组成。一个键可以有一个或多个值项,每个值项的名称各不相同,如果一个值项的名称为空,则该值项为该键的默认值。

值项的数据类型主要有以下四种:
- REG_SZ:字符串:文本字符串。
- REG_MULTI_SZ:多字符串值:含有多个文本值的字符串。
- REG_BINARY:二进制数:二进制值,以十六进制显示。
- REG_DWORD:双字值:一个 32 位的二进制值,显示为 8 位的十六进制值。
注册表的组成
注册表主要由五大部分组成,都是以 HKEY 开头,每个主键当中都包含每一特殊种类的信息。
注册表的五大主键以及含义,移步百度百科
注册表的作用
Windows 注册表实际上是一个庞大的数据库,主要存储以下内容:
- 存储用户计算机软、硬件的有关配置和状态信息。
- 应用程序和资源管理器外壳的初始条件、首选项和卸载数据。
- 计算机的整个系统的设置和各种许可。
- 文件扩展名与应用程序的关联。
- 硬件的描述、状态和属性。
- 计算机性能记录和底层的系统状态信息。
- 以及各类其他数据。
用户安装一个应用软件就会在注册表上登记信息,例如,Bindizip 的一些配置信息就在注册表中存储着:

Bindizip 的临时文件夹存储在 C 盘,直接修改注册表也可,在 Bindizip 内进行设置也可。
Windows 中有许许多多的文件,不同的文件需要使用不同的应用软件打开,例如,.html 文件默认是浏览器打开的,但是作为程序员希望一直以 VSCode 编辑器打开。文件如何与指定的应用软件关联起来,就是注册表的作用之一。

Windows 注册表是什么?它的作用是什么?的更多相关文章
- Windows注册表的基本知识及应用
转帖:Windows注册表的基本知识及应用 2009-12-23 11:30:56 分类: Windows注册表的基本知识及应用 一.注册表的重要性 在DOS年代,对计算机的内存管理及系统配置主要通 ...
- 1.3 Windows注册表
如何打开Windows注册表呢? 方法一:Win+R打开命令行,再输入regetdit,回车. 方法二:打开计算机,进入系统所在盘,进入Windows\System32文件夹,找到regedt32,双 ...
- 10#Windows注册表的那些事儿
引言 用了多年的Windows系统,其实并没有对Windows系统进行过深入的了解,也正是由于Windows系统不用深入了解就可以简单上手所以才有这么多人去使用.笔者是做软件开发的,使用的基本都是Wi ...
- [转帖]Windows注册表内容详解
Windows注册表内容详解 来源:http://blog.sina.com.cn/s/blog_4d41e2690100q33v.html 对 windows注册表一知半解 不是很清晰 这里学习一下 ...
- Windows注册表内容详解
Windows注册表内容详解 http://blog.sina.com.cn/s/blog_4d41e2690100q33v.html (2011-04-05 10:46:17) 第一课 注册表 ...
- 详解Windows注册表分析取证
大多数都知道windows系统中有个叫注册表的东西,但却很少有人会去深入的了解它的作用以及如何对它进行操作.然而对于计算机取证人员来说注册表无疑是块巨大的宝藏.通过注册表取证人员能分析出系统发生了什么 ...
- Windows注册表内容详解(转载)
(关于windows注册表的整理,来源网络) 前提 一.什么是注册表 注册表是windows操作系统.硬件设备以及客户应用程序得以正常运行和保存设置的核心"数据库",也可以说是 ...
- 一些实用的Windows注册表
一些实用的Windows注册表 1.去掉快捷方式文件名后面自动添加的"-快捷方式" 在给某个文件创建快捷方式时(选中文件-->右键-->发送到-->桌面快捷方式) ...
- 使用Java修改Windows注册表
使用Java修改Windows注册表,使用最基本的就是cmd命令. 事例和运行结果如下所示: package day01; import java.io.IOException; /* 1,reg a ...
随机推荐
- React BrowserHistory 踩坑实录 布置到服务器Nginx上各种静态文件、二级地址404
由于BrowserHistory访问的是文件真实地址不仅需要前端配置package.json还需要运维端配置一下网站Nginx设置环境: "react": "^17.0. ...
- ES6 - promise(2)
从上一篇中我们知道promise的概念,上一篇也提到了 promise的过程: 启动异步任务 => 返回promise对象 =>给promise对象绑定回调函数(甚至可以在异步任务结束后指 ...
- WAVE音频格式及及转换代码
音频信号的读写.播放及录音 python已经支持WAV格式的书写,而实时的声音输入输出需要安装pyAudio(http://people.csail.mit.edu/hubert/pyaudio).最 ...
- JS:this关键字1
this 代表了当前的对象,哪个对象调用了this所在的函数,this就代表了哪个对象: 例1: function fn(){ var a = 1; console.log(this) } fn() ...
- vue基本原理
当一个Vue实例创建时,Vue会遍历data中的属性,用Object.defineProperty(vue3.0使用proxy)将它们转为getter/setter,并且在内部追踪相关依赖,在属性被访 ...
- Gitlab分支策略建议指南
本文分支策略为总结各中小型企业常见做法(仅代表个人观点),在下才疏学浅,文章如有缺漏或不当之处,望各位帮忙指正.写此文也十分希望能起抛砖引玉之效. 据我所知,目前大部分无论是按瀑布/敏捷开发模型,就算 ...
- Tomcat深入浅出——Servlet(三)
零.HttpServletRequest 上一篇已经介绍了这个接口,现在补充些内容 首先介绍一下作用域: jakarta.servlet.jsp.PageContext pageContext 页面作 ...
- Thread类的常用方法_获取线程名称的方法和设置线程名称的方法
Thread类的常用方法 获取线程的名称: 1.使用Thread类中的方法getName() String getName() 返回该线程的名称 2.可以先获取到当前正在执行的线程,使用线程中的方法g ...
- 2018 CSP-J 初赛解析
做题记录与答案 今天这个做的是真的烂,60分,妙极了(微笑 可以看看人家的解析 选择: 选择好多不太懂的,一个个的来解析 先分析一下选择的知识点: 计算机基础 :T1.T3.T4.T5.T8 进制转换 ...
- 基于单层决策树的AdaBoost算法原理+python实现
这里整理一下实验课实现的基于单层决策树的弱分类器的AdaBoost算法. 由于是初学,实验课在找资料的时候看到别人的代码中有太多英文的缩写,不容易看懂,而且还要同时看代码实现的细节.算法的原理什么的, ...