注册表的概念

历史发展

在 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. labuladong算法笔记总结

    动态规划解题套路框架 学习计划: 最长回文子序列 〇.必读文章 1.数据结构和算法学习指南(学习算法和刷题的框架思维) 了解数据结构的操作和遍历(迭代or递归) 从树刷起,结合框架思维,有利于理解(回 ...

  2. gulp报错The following tasks did not complete

    代码如下: //引用gulp模块 const gulp = require('gulp'); //使用gulp.task()建立任务 gulp.task('first', () => { con ...

  3. 【leetcode】剑指offer04二维数组查找

    很巧妙地把矩阵转化为二叉搜索树(不过好像没什用) class Solution { public: bool findNumberIn2DArray(vector<vector<int&g ...

  4. psutil模块使用(系统监控,性能分析,进程管理)

    psutil模块的介绍 在Python中,我们可以使用psutil这个第三方模块去获取信息的信息. psutil模块可以跨平台使用,支持Linux/UNIX/OSX/Windows等,它主要用来做系统 ...

  5. 第三模块的下载、requests模块、openpyxl模块

    目录 第三方模块的下载安装 下载第三模块的方式 针对下载第三模块时可能会出现的问题 网络爬虫模块之requests模块 自动化办公领域之openpyxl模块 第三方模块的下载安装 第三方模块:别人写的 ...

  6. get请求拼接数组转字符串

    get请求拼接数组转换成字符串

  7. 用了这么多年的 SpringBoot 你知道什么是 SpringBoot 的 Web 类型推断吗?

    用了这么多年的 SpringBoot 那么你知道什么是 SpringBoot 的 web 类型推断吗? 估计很多小伙伴都不知道,毕竟平时开发做项目的时候做的都是普通的 web 项目并不需要什么特别的了 ...

  8. vite+ts+vue3+router4+Pinia+ElmPlus+axios+mock项目基本配置

    1.vite+TS+Vue3 npm create vite Project name:... yourProjectName Select a framework:>>Vue Selec ...

  9. Fast RCNN论文阅读笔记

    1.Introduction 1.1 RCNN 和SPPnet RCNN有几个显著的问题:1.训练的时候是多阶段的训练,分别分三个阶段训练卷积层.SVM.边框回归矩阵.2.训练很耗时.3.目标定位非常 ...

  10. BBS升级版

    BBS项目 项目的前期准备 1.django2.2 创建一个django目录 (需要配置环境变量和数据库) 'DIRS': [os.path.join(BASE_DIR, 'templates'), ...