6.HKEY_DYN_DATA
该根键存放了系统在运行时动态数据,此数据在每次显示时都是变化的,因此,此根键下的信息没有放在注册表中。
每次出现死机、应用程序非法操作,或者计算机启动时报告某个文件找不到,这个时候你是不是会特别心烦,又觉得无从下手。这些问题的出现,一般都与Windows 的注册表有关。 那么,现在我们就来学习一下Windows的注册表,这可能是很多对Windows非常熟悉的人都感到神秘,而又特别想掌握的。了解了注册表,我们对以后出现的各式各样的问题就不会再束手无策。
熟悉Windows3.X的用户可能对它的配置文件“INI”不会陌生,这些文件记录了系统的软、硬件的各种信息,以确保系统的正常运行。在Windows95/98中,也保留了部分的“INI”文件。但是最主要的,如system.ini、program.ini、win.ini、control.ini 等文件所记录的信息都已集成在注册表中,这样更加便于对Windows进行全面的管理。
Windows95的注册表实际上是一个很庞大的数据库,包含了应用程序和计算机系统的配置、Win95系统和应用程序的初始化信息、应用程序和文档文件的关联关系、硬件设备的说明、状态和属性以及各种状态信息和数据。 注册表系统由两个部分组成:注册表数据库和注册表编辑器。其中注册表数据库包括三个文件:SYSTEM.DAT和USER.DAT,还有一个是在C盘的根目录下的“SYSTEM.1ST”,它只不过是具有WINDOWS的一个大致框架而已,在后面我们将专门讲它,这里我们先分析一下SYSTEM.DAT和USER.DAT。 SYSTEM.DAT用来保存电脑的系统信息,如安装的硬件和设备驱动程序的有关信息等。这个文件在Windows目录下。 USER.DAT用来保存每个用户特有的信息,如桌面设置、墙纸或窗口的颜色设置等。这个文件也在Windows目录下。 SYSTEM.DAT的自备份文件为SYSTEM.DA0,USER.DAT的自备份文件为USER.DA0。Windows95还提供了一个对注册表编辑的工具:注册表编辑器,用它可以对注册表进行各种编辑工作。
注册表采用“关键字”及其“键值”来描述登录项及其数据。所有的关键字都是以“HKEY”作为前缀开头。打个比喻来说,关键字更象Windows9X下的浏览器里的目录下的文件,每个文件都会有自己特有的内容和属性。我们可以在注册表编辑器下很方便地添加、修改、查询和删除注册表的每一个关键字。关键字可以分为两类:一类是由系统定义,一般叫做“预定义关键字”;另一类是由应用程序定义的,根据应用软件的不同,登录项也就不同。 下面我们对系统预定义的六个主关键字简单地介绍一下。
◎ HKEY_CLASSES_ROOT
打开注册表编辑器(Regedit.exe),就可以看到关键字。该键由多个子键组成,具体可分为两种:一种是已经注册的各类文件的扩展名,另一种是各种文件类型的有关信息。左栏中的子键就是各种已经注册的文件扩展名。 注册表内己经登记的文件扩展名中,有系统默认和应用程序自定义的扩展名。应用程序只有把自定义的扩展名在注册表中登记,系统才能识别和关联使用有关的文档,但只有经过注册的扩展名,系统才能自动关联。 当选中某个扩展名关键字时,在窗口的右窗格中将显示出有关的键值。例如在这里选中“.avi”时,就表示后缀名的文件类型,它的键值默认为动画文件(avifile);其中“Content Type”表示它满足什么样的文件类型。我们再将滚动条往下拉,能找到有一个关键字“avifile”,它的键值的默认值是“视频剪辑”,这就表示我们可以对.avi文件进行编辑、播放等操作。 还有为avi的文件,在右栏中显示的
是它一种是我们常用的文件类型“.txt”,先移动滚动条找到“.txt”,用鼠标选中后,右栏中显示,它的默认值是“txtfile”, “Content Type”的值“text/plain”,表示它启动时是一个空白的文本文件。 其它的我们就不一一说明,你只要清楚操作系统和应用文件的文件类型,都被包括这里就可以了。
◎ KEY_CURRENT_USER
HKEY_CURRENT_USER下面有7个子关键字。其中除RemoteAccess”外,其余6个都为系统预定义。
AppEvents
这个子键里登记已注册的各种应用事件。
ControlPanel
它里面涉及到控制面板设置有关的内容。
InstallLocationsMRU
windows安装路径的有关信息。
Keyboardlayout
关于键盘设置的信息。
Network
有关网络设置的信息。
RemoteAccess
安装IE4.0时建立的子关键字,包含该应用程序的有关信息。
Software
软件的有关信息。
◎ HKEY_USERS
你可以在这里设置自己的关键字和子关键字。根据当前登录的用户不同,这个关键字又可以指向不同的分支部分。这个分支部分将映射到HKEY_CURRENT_USER关键字中。用户根据个人爱好设置的诸如桌面、背景、开始菜单程序项、应用程序快捷键、显示字体、屏幕节电设置等信息均可以在这个关键字中找到。本关键字中的大部分设置都可以通过控制面板来修改。如果用户登录到系统中的信息,没有预定义的登录项,则采用本关键字下面的“Default”子关键字。
◎ HKEY_CURRENT_CONFIG
这个关键字实际上也是指向HKEY_LOCAL_MACHINE\Config结构中的某个分支的指针。HKEY_CURRENT_CONFIG下面的子关键字及内容与HKEY_LOCAL_MACHINE\Config\0001分支下面的子关键字及内容是完全相同的。本关键字包含的主要内容是计算机的当前配置情况,如显示器、打印机等可选外部设备及其设置信息等,而且这个配置信息均将根据当前连接的网络类型、硬件配置以及应用软件的安装不同而有所变化。
◎ HKEY_DYN_DATA
这个关键字包含了系统运行中的动态数据-即已发生的事件的有关信息。因此这个关键字的内容不仅包含系统硬件的当前状态,也包含了那些需要更新和检索的数据。这些数据都是动态变化的,它们总是最新的信息。WIN95每次启动时都将重新建立这个关键字。为了提高工作速度,HKEY_DYN_DATA实际上是存放在内存(RAM)中的,因此如果发生了对于注册表内容的修改,则不必立即写入磁盘。这对于提高系统的速度是十分必要的。
点“开始”,在“运行”中输入Regedit,启动注册表编辑器。注册表编辑器的使用较简单,用鼠标的右键可提高工作效率,但要提醒的是在对注册表做任何修改之前,必须将注册表备份,不然的话,可能因为某些改动而导致系统无法启动。 Windows\\\'95注册表数据库基本上由SYSTEM.DAT和USER.DAT组成,而且Windows\\\'95 为了提高它的可*性,免遭意外破坏,每次启动时都把注册表备份到SYSTEM.DA0和USER.DA0。如果系统启动出错,我们还可以在Dos下进入Windows目录里,用Attrib 命令改变它们的系统、隐含、只读属性,将.DA0复制到.DAT中即可。
◎ 在DOS下备份注册表
不过这样还是不太安全。最好还是在Windows正常运行时,将这两个文件备份:
首先计算机启动时进入DOS环境,开始如下操作:
cd \\\\windows
attrib –r –h –s system.dat
attrib –r –h –s user.dat
将这两个文件的属性改为可见,非系统文件,这样文件可供拷贝。
copy system.dat system0.dat
copy user.dat user0.dat
system0.dat user0.dat这两个文件就是备份后的文件名。在以后不管你的注册表坏到什么程度,只要把这两个文件拷回去就行了,而且能恢复到你备份时的状态。
attrib +r +h +s system.dat
attrib +r +h +s user.dat
拷贝完成后,将system.dat user.dat的属性还原。
◎ 在DOS下恢复注册表
如果当你的系统出问题后,启动计算机进入Dos7.0,操作步骤如下:
cd windows
attrib -r -h -s system.dat
attrib -r -h -s user.dat
copy system0.dat system.dat
copy user0.dat user.dat
这时系统会提示是否覆盖该文件,键入Y就行了。