学习window系统下的注册表

时间:2024-04-21 14:34:52

一直不明白注册表是一个什么鬼,查了资料后大概明白了注册表到底有什么用,其实简单来说注册表就是一个存放系统、硬件、应用配置信息的数据ku。
##### 一、注册表的来历
在最早的视窗操作系统win3.x中,操作系统、硬件设备信息及应用程序的配置信息都是通过扩展名为`ini`的文件来保存的,其中`system.ini`负责配置硬件、`win.ini`负责配置桌面设置和应用程序。但是这种方式有明显的缺点:因为ini文件的最大容量限制为64k,所以系统中每种设备和应用程序都有一个和自己对应的.ini文件,而且在应用程序的安装和运行过程中,系统不会自动删除过时和无用的ini文件,随着应用程序不断添加和删除,ini文件越来越多,在ini文件中查找相应信息的速度会越来越慢,系统也会运行缓慢并且不稳定。
为使系统的运行更加稳定,避免因ini文件遭到破坏而导致应用程序出错和系统死机,在win95开始引入注册表的概念。

##### 二、注册表的作用
- 不再把配置信息放在ini文件中,而是全部转移到注册表,包括了计算机系统和应用程序的配置信息、window系统与应用程序的初始化信息、计算机硬件信息、以及各种状态信息和数据。

- 比起ini文件更具有安全性,用户只能通过注册表编辑器对注册表进行修改,regedit,避免了原来由于修改ini文件而导致的问题。
此外注册表中的信息是以某些方式和性质来按照层次结构来存放的,简化了用户对注册表的浏览和管理,提高系统查找效率。

##### 三、注册表的功能
1、注册表是连接操作系统、硬件、驱动程序的数据库。驱动程序的位置、存放地址和版本号都保存在注册表中。有了这些针对各种设备的信息后,操作系统就可以通过驱动程序使用相应的设备。如果没有注册表,操作系统就无法对硬件进行管理。

2、操作系统与应用程序关联的数据库。当启动一个应用程序时,注册表就会向操作系统提供与该应用程序相关的设置,如文件位置、配置文件及启动应用程序所需的其他的必要设置等。

##### 四、注册表的位置
注册表编辑器在: C/window/regedit.exe,或者直接在开始-运行窗口下输入regedit.exe,打开注册表编辑器。

##### 五、注册表的结构
注册表相当于一个数据库,打开之后可以看到图中的左侧列表就是**根键**

![注册表编辑器](http://upload-images.jianshu.io/upload_images/2070541-44d06518c60d6844.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
将**根键**展开之后可以看到很多文件夹目录就是**主键**,而文件夹目录下的文件夹就是**子键**。有关根键和对应的主键的理解请参阅教程:
[注册表教程1](http://www.bianceng.cn/film/regedit-index1.htm)
[注册表教程2](http://tech.163.com/special/s/000915SN/stregedit.html)