注册表 基础知识( 四 )


4.HKEY_CLASSES_ROOT
包含注册的所有ole信息和文档类型,是从 hkey_local_machinesoftwareclasses复制的 。根据在 Windows 98 中文版中安装的应用程序的扩展名 , 该根键指明其文件类型的名称。
5.HKEY_LOCAL_MACHINE
该根键存放本地计算机硬件数据 , 此根键下的子关键字包括在 SYSTEM.DAT 中 , 用来提供 HKEY_LOCAL_MACHINE 所需的信息 , 或者在远程计算机中可访问的一组键中 。
该根键中的许多子键与 System.ini 文件中设置项类似 。
6.HKEY_DYN_DATA
该根键存放了系统在运行时动态数据,此数据在每次显示时都是变化的,因此,此根键下的信息没有放在注册表中 。
认识键和子键
注册表通过键和子键来管理各种信息 。但是,注册表中的所有信息是以各种形式的键值项数据保存下来 。在注册表编辑器右窗格中,保存的都是键值项数据 。这些键值项数据可分为如下三种类型:
1. 字符串值
在注册表中,字符串值一般用来表示文件的描述、硬件的标识等 。通常它由字母和数字组成,最大长度不能超过 255 个字符 。比如“ D:pwin98trident ”即为键值名“ a ”的键值,它是一种字符串值类型的 。同样地,“ ba ”也为键值名“ MRUList ”的键值 。通过键值名、键值就可以组成一种键值项数据,这就相当于 Win.ini 、 Ssyt-em.ini 文件中小节下的设置行 。其实,使用注册表编辑器将这些键值项数据导出后,其形式与 INI 文件中的设置行完全相同 。
2. 二进制值
在注册表中,二进制值是没有长度限制的,可以是任意个字节长 。在注册表编辑器中,二进制以十六进制的方式显示出来 。比如键值名 Wizard 的键值“ 80 00 00 00 ”就是一个二进制 。
3. DWORD 值
DWORD 值是一个 32 位( 4 个字节,即双字)长度的数值 。在注册表编辑器中,您将发现系统会以十六进制的方式显示 DWORD 值 。在编辑 DWORD 数值时,可以选择用十进制还是 16 进制的方式进行输入 。
另外:对注册表信息的注册和修改,一般由以下几点实现:
安装Win9X时,由安装程序注册系统信息;
安装应用程序时,由安装程序注册该程序的配置信息;
添加新硬件时,由系统即插即用功能监测并注册的信息;
通过控制面板或属性对话框改变系统属性与设置而实现的信息变更;
通过注册表编辑器对信息进行手工修改.

DOS下维护注册表的高级技巧
现在随着电脑应用知识的普及,我想,很多朋友对WINDOWS注册表的修改已经有不少经验和心得 。在图形界面下对注册表的维护和修改,就不必再提了,但有时候,我们可能会遇到更辣手的事情,如由于人为错误操作或者恶性病毒感染而使系统切底崩溃,不能进入WINDOWS图形界面时,我们对此是否只有重装这种方法呢?本文将就在DOS下面尽量挽救系统这方面作出阐述 。
一、使用scanreg/restore

我想这种方法大家也比较熟悉了,只要在DOS界面下输入该命令,就可以在最近的5个注册表备份里恢复,如果幸运的话,系统就可以马上恢复 。但,事实上,用这种方法有个致命的缺陷就是你只有最近5天的注册表备份可以选择 。因为控制着自动备份的scanreg.exe只会在每天第一次启动电脑时备份,如果哪天你安装的程序或者对注册表的修改比较多,那么你的努力就大多白费了 。这种方法就正如是眉毛胡子一起抓,正确和错误的都一起改掉,是否能为恢复系统帮上忙,总有一种听天由命的感觉 。所以,笔者鼓励大家使用第二种方法 。
二、使用DOS界面的regedit.exe

如果把scanreg/restore比作是一刀切的话,这种方法更像是一次高明的外科手术,只一矢中的地针对病,把错误修复而完全不影响注册表的其他健康部分 。这样,我们就能在最大限度上保留我们的工作成果了 。使用regedit.exe对注册表实行局部修改的思路是:首先,把注册表里有嫌疑的分支导出;然后,使用edit对它进行分析和修改;最后,把健康的分支重新导入注册表里 。好了,我们来看看整个过程的具体操作 。

推荐阅读