注册表的由来
如今使用的Pc操作系统经历了从DOS到 windows的发展过程。在DOS年代,系统中的硬件设备必须通过Confis.sys和Autoexec.bat两个配置文件在系统初始化过程中加载驱动程序来运行。而软件的配置信息,通常是由软件的编写者根据他自己所喜好的方式加以保存。随后出现的windows 3.x系统,使得这种情况发生了改变。
在windows 3.x中,系统通过Win.ini、System.ini、Control.ini、program.ini等INI文件来保存所有有关操作系统和应用程序的配置信息。其中前两者的作用尤为重要,System.ini负责配置硬件,而win.ini负责桌面设置和应用程序的运行等工作。 随着windows的普及,一些开发者过去没有注意到的问题也逐渐浮现出来。由于各个应用程序不断地往INI文件中添加自己的配置信息,而从不负责删除各INI文件中那些过时、无用的信息,所以随着系统内应用程序数量不断增加,INI文件就变得越来越大,在INI文件中查找相应信息的速度也越来越慢,再加上INI文件最大不能超过64KB,很快这种公用System.ini、Win.ini的管理方式就受到极大的挑战与质疑。
于是,人们在原有基础上提出了改进的方法。各个应用程序开始使用自己的INI文件来解决容量问题,比如Word 6.0就使用Word6.ini存放其配置信息。这样一来,INI文件大小的限制被很好解决了。但这样做又带来了新的麻烦,系统中出现了太多的INI文件,要想集中管理,而且搞清楚它们之间的关系变成了非常困难的事情。INI文件的另外—个致命缺陷仍然没有好的解决办法。由于INI文件是—个文本文件,所以任何用户都可以使用任意的文本编辑器来编辑它。如果用户在编辑INI文件时不小心修改了它的内容和格式,或者被不负责任的程序胡乱修改了其他应用程序所需要的数据,就有可能导致非常严重的后果。系统会出现许多莫名其妙的错误,死机、无法启动。因为这是系统结构性的弊端,所以在windows 95问世以前,大家都没有很好的解决方法。
在windows 3.x的升级版Windows 95出现时,微软决定把Windows NT中得到成功应用的注册表概念引入进来。其实质就是利用一个功能强大的注册表数据库来统—集中地管理系统硬件设施、软件配置等信息,从而方便管理并增强系统的稳定性
什么是注册表
注册表(Registry)是一个什么样的表格呀?嘿嘿!傻了吧。注册表它不是一个什么表格,而是Windows的一个内部数据库,是一个巨大的树状分层的数据库,它是微软专门为其32位操作系统(如Windows NT、Windows 98等)设计的一个系统管理数据库。
注册表记录了用户安装在机器上的软件和每个程序的相互关联关系;记录了计算机的硬件配置,包括自动配置的即插即用的设备和已有的各种设备。
注册表中存放着各种参数,直接控制着 Windows 的启动、硬件驱动程序的装载以及一些 Windows 应用程序的运行,从而在整个系统中起着核心作用。它包括:
(1)软、硬件的有关配置和状态信息,注册表中保存有应用程序和资源管理器外壳的初始条件、首选项和卸载数据。
(2)联网计算机的整个系统的设置和各种许可,文件扩展名与应用程序的关联,硬件部件的描述、状态和属性。
(3)性能记录和其它底层的系统状态信息,以及其它数据。
如果注册表受到了破坏,轻者使 Windows 的启动过程出现异常,重者可能会导致整个系统的完全瘫痪。因此正确地认识、使用,特别是及时备份以及有问题时恢复注册表,对Windows用户来说就显得非常重要。
总的来说,注册表实际上就是一个以层次结构保存和检索的复杂的数据库,它包含了应用程序和系统软硬件的全部配置、初始化信息以及其他重要数据。从一般用户的角度看,注册表系统由注册表数据库和注册表编辑器两部分组成。
注册表编辑器(Regedit.exe)是一个专门用来编辑注册表的程序,没有它我们根本无法进行注册表的基