【教学】注册表使用全攻略

注册表基础—注册表使用全攻略之一

一、注册表基础
微软采用注册表来统一管理软硬件配置,从而大大提高了系统的稳定性和安全性,同时也使我们能更容易的对系统进行维护和管理。

(一)注册表基础ABC

总的来说注册表实际上是一个庞大的数据库,它包含了应用程序和系统软硬件的全部配置信息,初始化信息及其它重要数据。从一般用户的角度看,注册表系统由两部分组成:注册表数据库和注册表编辑器。其中注册表数据库包括两个文件:System.dat和User.dat。前者是用来保存计算机的系统信息,如安装的硬件和设备驱动程序的有关信息等;后者则是用来保存每个用户特有的信息,如桌面设置、墙纸或窗口的颜色设置等。它们一般都放在C盘Windows目录下。同时,微软为了防止注册表文件的损坏,特地准备了两个备份文件System.da0和User.da0(文件类型是.da),也是放在C盘Windows目录下。
在Windows 98中还有一个专门用来储备备份文件的文件夹,即C:\Windows\Bak,相比之下,注册表编辑器是用来对注册表进行各种编辑的工具。你可以在“开始”菜单中点击运行,在运行的对话框中填入“Regedit"即可看到注册表编辑器。
如果你在“系统配置实用程序"的启动项里发现ScanRegistry前的小勾没有被去掉的话,那么系统每天会自动调用Scanreg.exe对注册表备份一次,备份后的注册表被打成cab包,放在C:\Windows\sysbckup目录下,文件名为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.exe a Temp$%1 其中,“shell”和“command”都是固定的,不能更改和替换,“shell”指明将要为上下文菜单中添加命令, “command”指明具体的命令行信息。另外还要注意,在等号右边的键值字符串中, 如果要指明文件的路径,其中的“\”字符要使用“\"代替,等号的前后还要添加一个起分隔作用的空格。
凡是用分号开头的行,均为说明信息行,用户可以利用说明行给文件中的命令给予必要的注解,使命令便于理解。
使用任何一个编辑器,编辑生成一个包含一系列主键声明行、说明行的列表,并将文件保存为以“.reg”为扩展名的文本文件,即创建了一个注册表文本文件。

二、注册表初级应用

Win 9x中注册表的重要性,众所周知。所以也是为了这个原因,Win 98特别新增加了个小工具——注册表检查器Scanreg.exe(Scanregw)。 在每次开机启动Win 98时Scanreg自动运行,对系统注册表进行检查,并为每个开机日作一次备份,将System.dat、User.dat、System.ini、Win.ini四个文件打包成Cab文件,以rb00?.Cab命名,存放于系统备份文件夹Sysbckup中,默认保存最近的5个备份文档。当检查到注册表出错时,它就用备份进行恢复。平时,若注册表有了问题或不合己意时,我们也可利用它来恢复。

(一)用好“注册表检查程序”

Scanreg的常用命令如下:
Scanreg /backup /restore /comment /fix
参数包括:
/Backup:对注册表以及相关的系统配置文件进行备份。
/Restore:选择一个备件文件进行系统恢复。
/Fix:修复注册表
/Comment=“<评述>”:在做系统备份的时候,将特定的评语和标注文字加入到CAB包中。
/Autoscan:自动扫描注册表,并自动备份(如果已有当天的备份,则不带任何提示)
/Scanonly:扫描注册表,如果有错误则提示,不对注册表进行备份。
/opt:压缩注册表,在每回引导检查时如果有大于500KB的空间,则自动执行。这个命令在运行/Fix时它也将运行。

1、手工启动“注册表检查程序”
在某些情况下(如用户已经人为禁止了“注册表检查程序”的自动运行功能之后),我们仍需要手工启动“注册表检查程序”对系统进行检查,
“开始”-“运行”-“Scanregw”-“确定”,启动“注册表检查程序”,会自动对注册表数据库进行检查,如果正确,它就会询问用户是否重新备份注册表数据库,如果有问题,它将建议用户采用上次备份的信息进行恢复,确保Windows 98正常运行。
需要说明的是,“注册表检查程序”的检查、备份范围并不局限于注册表数据库,它同时还会处理Win.ini和System.ini等文件以确保Windows 98的安全运行。另外,“注册表检查程序”在备份文件时采用了压缩备份方式,它会将需要备份的文件统统压缩到一个CAB压缩包中,然后再以Rb???.cab为名保存到Windows 98的Sysbackup子目录中(???为CAB压缩包文件的序号),这样既节省了磁盘空间,又提高了备份文件的安全性。

2、DOS运行注册表检查程序
MS_DOS下的注册表检查器Scanreg.exe可以用来备份及恢复注册表。

(二)利用注册表维护与优化软件

最好的注册表维护与优化工具当然是Norton Utilities提供的Windows Doctor和Norton Cleansweep提供的Registry Sweep。前者主攻诊断与修复,后者擅长减肥与优化。对于Windows Doctor,它的优点在于不但提供了对系统注册表错误设置的强大自检功能,而且还能全自动地修复。而Registry Sweep能非常彻底地为你的注册表减肥,将注册表中那些无用的系统垃圾完全清除。它们都相当智能,即使你对注册表的维护一无所知,只要一路“Next"下去,就能轻松完成对注册表的修复和优化,完完全全的“傻瓜"。

Nuts & Bolts中的Registry Wizard也是非常称心的注册表维护的好工具,同样具有修复与减肥功能,清理注册表来又快又好。

当然,如果你不想选择集成式的系统维护工具,可以使用专门的注册表维护与优化软件。优化大师和超级兔仔注册表优化软件就很不错,不仅能够修复错误,而且能够清除非常多的注册表垃圾。

经典的注册表优化工具RegClean也是上选,凭着微软在操作系统领域中的霸主地位,它的注册表清理工具就值得你信赖。

还有其他的不在介绍了

注册表的文件关联及应用—注册表使用全攻略之二
喜欢使用Windows右键快捷菜单的朋友可能知道,当你选择了一个文件(或者是文件夹或是系统图标)再单击鼠标右键,系统就会弹出一个菜单,菜单上面的各种“功能”(或称“操作”)任你选择,但是你是否注意到,当你安装一些应用软件之后,你的右键菜单是不是膨胀,以winzip为例,安装winzip之后,文件或文件夹的右键菜单当中就增加了功能选择项"Add to Zip"和"Add to xxx.zip",如图一,看到这个变化,我们不禁要问,这些选择项是怎么加入的,可不可以自己来添加。带着这些问题,我们再来看Windows的文件关联。
什么是文件关联呢?通俗地说,就是选择不同类型的文件时,在其右键菜单上显示的各功能项。每个功能项即对应一个关联。选择了某一功能(操作),系统就去执行相应的处理程序。至于对什么文件的什么操作对应什么样的处理程序,那都记录在系统注册表中。因此,要真正弄清文件关联,必须深入研究注册表。这个问题解决了,我们就可以利用注册表随心所欲地为文件建立,修改,删除关联。
既然关联信息都写在注册表中,那么它在注册表中又是怎样构成的呢?我们不妨打开注册表,观察根键HKEY_CLASSES_ROOT之下的各个主键。(这样或许更易说明这一点)你是不是看到了很多前面有一个点(.),后面好象是文件扩展名的主键
如.bat,.txt,.lnk,.bmp等。我们把这一类的主键称之为“扩展名主键”,每个扩展名主键都有一个默认键值。如:主键.bat的默认值为batfile; .lnk主键的默认值为lnkfile。举了这两个例子,你是否看出了其中的规律。即:若“扩展名主键”名为.xxx(xxx为某一类文件的扩展名),那么它的默认键值就为xxxfile。当然并不是所有的默认值都是这样,也可能多个主键对应同一默认值。比如:主键.jpeg和主键.jpg,它们的默认值jpgfile;.html和htm的默认值都为htmlfile。为什么要说这么多的扩展名主键的默认值呢?其中原因且听我慢慢道来。这个默认键值的作用就非同小可了,它可是文件关联的桥梁和纽带,是它将文件的类型(以扩展名来标识文件类型)与文件的关联联系起来。不信,你可以将某一“扩展名主键”的默认键值乱改一通,你就会发现,该类文件的许多关联项在右键菜单中消失了。既然这个重要的默认键值起了一个桥梁的作用,那么桥梁的另一端——文件的关联又是如何定义的呢?我们继续看注册表,让它来给我们解释。依然是在HKEY_CLASSES_ROOT根键之下。我们可以看到该根键之下有如下主键。如:batfile,txtfile,lnkfile 等。
这些主键好象都是刚才我们所说的“扩展名主键”的默认值。不错,上述默认值在此处正好变成了主键名——这就是桥梁。我们把这一类的主键称为“标识主键”。一般而言,在“标识主键”之下有以下几个重要主键