注册表的概念

历史发展

在 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注册表 1.去掉快捷方式文件名后面自动添加的"-快捷方式" 在给某个文件创建快捷方式时(选中文件-->右键-->发送到-->桌面快捷方式) ...

  2. 使用Java修改Windows注册表

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

  3. Java 修改Windows注册表,以实现开机自启动应用程序。

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

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

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

  5. 1.3 Windows注册表

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

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

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

  7. winreg操作windows注册表详解示例

    #coding:utf-8 #=====================================================================#=====本程序演示了WINR ...

  8. Windows 注册表 16进制时间转换( Convert Reg_binary Time to a Datetime )

    背景: Windows注册表中,存在大量16进制的时间,以 reg_binary存储在注册表中. 例如: 0D 6C A4 4B 37 C5 CE 01 这种值日常报表中需要转换为适合人阅读的格式,实 ...

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

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

  10. 关于windows注册表

    Windows 注册表 应该是一个 数据库.里面包含操作系统以及在其上的软件配置信息和旗下的硬件配置信息,有点就是整体和全面,控制面包和gpedit.msc 组策略应该是抽象过后的注册表配置信息, W ...

随机推荐

  1. 【每日一题】【小根堆&边出队边入队后续节点&注意判空】23. 合并K个升序链表-211128/220213

    给你一个链表数组,每个链表都已经按升序排列. 请你将所有链表合并到一个升序链表中,返回合并后的链表. 答案1(参数是数组): /** * Definition for singly-linked li ...

  2. 云数据库FinOps实战复盘

    历时三个多月的HBase成本优化项目按照预期交付了,HBase云数据库月度成本下降了32.5%,超出预期达成目标. 我们对本次HBase成本优化项目进行深度复盘,并进一步尝试总结云数据库的FinOps ...

  3. 异常处理语法结构、yield生成器及其表达式

    今日内容回顾 目录 今日内容回顾 异常处理语法结构 异常处理实战应用 生成器对象 自定义range功能 yield冷门用法 yield与return对比 生成器表达式 笔试题 异常处理语法结构 异常处 ...

  4. 浅聊一下Django如何避免xss攻击

    一.什么是xss攻击 xss攻击:----->web注入 xss跨站脚本攻击(Cross site script,简称xss)是一种"HTML注入",由于攻击的脚本多数时候是 ...

  5. Redis网络模型究竟有多强

    如果面试官问我:Redis为什么这么快? 我肯定会说:因为Redis是内存数据库!如果不是直接把数据放在内存里,甭管怎么优化数据结构.设计怎样的网络I/O模型,都不可能达到如今这般的执行效率. 但是这 ...

  6. linux配置本地yum源实现在局域网中在线安装软件包

    安装linux下安装软件需要安装一系列的rpm包,用rpm -ivh xx和yum install xx 如果用rpm安装软件包的时候,需要自己下载rpm安装包,如果rpm包不全总是提示依赖检查失败或 ...

  7. Java解题练习

    Java解题练习 1.A+B问题   解题代码: import java.util.*; public class Main { public static void main(String[] ar ...

  8. BBS项目功能编写逻辑思路汇总

    BBS项目功能编写逻辑思路汇总 一.BBS创数据表 二.BBS注册功能 三.BBS登录功能 四.BBS首页搭建 五.BBS修改密码 六.BBS个人站点 七.BBS文章详情 八.BBS导入模块 九.BB ...

  9. 请求量突增一下,系统有效QPS为何下降很多?

    原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处. 简介 最近我观察到一个现象,当服务的请求量突发的增长一下时,服务的有效QPS会下降很多,有时甚至会降到0,这种现象网上也 ...

  10. 本地文件上传 Gitee 和 GitHub

    新建仓库 上 GitHub 或者是 gitee 创建仓库 在所在的文件夹打开终端 在本地项目文件夹打开终端, 或者 cd 到本地项目文件夹 配置提交项目的用户名和提交项目的邮箱 git config ...