操作系统之注册表
一、注册表基础
微软采用注册表来统一管理软硬件配置,从而大大提高了系统的稳定性和安全性,同时也使我们能更容易的对系统进行维护和管理。
(一)注册表基础ABC
总的来说注册表实际上是一个庞大的数据库,它包含了应用程序和系统软硬件的全部配置信息,初始化信息及其它重要数据。从一般用户的角度看,注册表系统由两部分组成:注册表数据库和注册表编辑器。其中注册表数据库包括两个文件:System.dat和User.dat。前者是用来保存计算机的系统信息,如安装的硬件和设备驱动程序的有关信息等;后者则是用来保存每个用户特有的信息,如桌面设置、墙纸或窗口的颜色设置等。它们一般都放在C盘Windows目录下。同时,微软为了防止注册表文件的损坏,特地准备了两个备份文件System.da0和User.da0(文件类型是.da),也是放在C盘Windows目录下。
在Windows98中还有一个专门用来储备备份文件的文件夹,即C:\Windows\Bak,相比之下,注册表编辑器是用来对注册表进行各种编辑的工具。你可以在“开始”菜单中点击运行,在运行的对话框中填入“Regedit"即可看到注册表编辑器。
如果你在“系统配置实用程序"的启动项里发现ScanRegistry前的小勾没有被去掉的话,那么系统每天会自动调用Scanreg.exe对注册表备份一次,备份后的注册表被打成cab包,放在C:\Windows\sy**ckup目录下,文件名为rb00x.cab并且被加上隐藏属性的就是(一般有五个)。
下面让我们具体看看系统预定义的六个主关键字(即根键)吧:
(1)HKEY_CLASSES_ROOT:基层类别键,定义了系统中所有已经注册的文件扩展名、文件类型、文件图标等。
(2)HKEY_CURRENT_USER:定义了当前用户的所有权限,实际上就是HKEY_USERS\.Default下面的一部分内容,包含了当前用户的登录信息。
(3)HKEY_LOCAL_MACHINE:定义了本地计算机(相对网络环境而言)的软硬件的全部信息。当系统的配置和设置发生变化时,其下面的登录项也会随之改变。
(4)HKEY_USERS:定义了所有的用户信息,其中部分分支将映射到HKEY_CURRENT_USER关键字中,它的大部分设置都可以通过控制面板来修改。
(5)HKEY_CURRENT_CONFIG:定义了计算机的当前配置情况,如显示器、打印机等可选外部设备及其设置信息等。它实际上也是指向HKEY_LOCAL_MACHINE\Config结构中的某个分支的指针。
(6)HKEY-DYN-4DATA:定义了系统运行中的动态数据,即已发生的事件的有关信息。它不仅包含系统硬件的当前状态,也包含了那些需要更新和检索的数据。系统每次启动时都要创建此关键字。
另外,每个根键再由若干主键组成,键名代表一特定的注册项目,键值可分为字符串值、二进制值和DWORD值,都能用注册表编辑器进行修改。
Windows的注册表是控制系统启动、运行的最底层设置,其文件就是System.dat和User.dat,它们不仅至关重要,而且极其脆弱.
(二)修改注册表的基本方法
在注册表文本文件的首行必须用命令字符串“REGEDIT”,其作用是通知系统调用regedit来完成注册信息的合并工作。接下来的每一行或代表一个键值的声明或者为注释性的说明信息。
主键及其默认键值的声明格式为:
根键\一级主键\二级主键\......=默认键值
例如,欲在根键HKEY_CLASSES_ROOT的“*”主键下添加一个“压缩”主键,以便通过上下文菜单直接压缩选定的文件,其主键的声明如下:
HKEY_CLASSES_ROOT\*\shell\压缩(&U)\command=C:\dos\arj.exeaTemp$%1其中,“shell”和“command”都是固定的,不能更改和替换,“shell”指明将要为上下文菜单中添加命令,“command”指明具体的命令行信息。另外还要注意,在等号右边的键值字符串中,如果要指明文件的路径,其中的“\”字符要使用“\\"代替,等号的前后还要添加一个起分隔作用的空格。
凡是用分号开头的行,均为说明信息行,用户可以利用说明行给文件中的命令给予必要的注解,使命令便于理解。
使用任何一个编辑器,编辑生成一个包含一系列主键声明行、说明行的列表,并将文件保存为以“.reg”为扩展名的文本文件,即创建了一个注册表文本文件。
剩下的内容在压缩包里面
[此贴子已经被作者于2006-5-18 16:30:29编辑过]