您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 第07章-Windows系统的核心文件-注册表及维护
第7章Windows系统的核心文件—注册表及其维护本章简要介绍了注册表的组成、结构和注册表编辑器及对它的管理、维护等。7.1注册表的组成7.2Windows注册表的存放位置7.3注册表的结构7.4注册表编辑器7.5注册表的管理与维护7.6设置注册表维护计算机退出7.1注册表的组成一、Windows9X从一般用户的角度看,注册表系统由两个部分组成:注册表数据库和注册表编辑器。注册表数据库包括两个文件:SYSTEM.DAT和USER.DAT,它们是二进制文件,具有隐含、系统、只读属性。一般存放在Windows文件夹下,通常为C:\WINDOWS中。SYSTEM.DAT用来保存计算机的系统信息,如安装的硬件和相应的设备驱动程序,USER.DAT用来保存每个用户特有的信息,如桌面设置、墙纸或窗口的颜色设置等。注册表编辑器(Regedit.exe)是一个专门用来编辑注册表的程序,可以实现注册表的各种编辑工作。System.da0和User.da0这两个文件属于Windows95,是注册表的备份文件,它们在每次系统成功启动后创建。在Windows98中,注册表检查器将备份文件作成CAB文件。二、Windows2000/XPWindows2000和windowsxp注册表文件基本相同,它们所处的位置与Windows9X一样。Windows2000/XP的注册表分为两个部分,但包括多个文件,其中用户配置文件保存在根目录的DocumentsandSetting目录下的用户名目录中,包括两个隐藏文件Ntuser.dat和Ntuser.ini以及日志文件Ntuser.pol。系统配置文件位于Windows2000/XP系统目录下的System32/Config中,包括Default、Software、System、Appevent.evt、SecEvent.Evt及SysEvent.Evt等多个隐藏文件及相应的.LOG文件和.SAV文件。在Windows2000/XP运行时,无法使用其他工具打开这些注册表文件,这一点与Windows9X下的System.dat和User.dat不同。一、Windows9X在系统盘一般为C盘的Windows夹下有SYSTEM.DAT和USER.DAT两个文件,这两个文件就是注册表文件。另外,系统每天启动的第一次都会做一个备份,储存在C:\WINDOWS\SYSBCKUP下,以rb***.cab命名,在DOS下可以用scanreg/restore还原。第一次安装完以后,在C盘根目录下还有一个SYSTEM.1ST文件作为第一次启动的备份。7.2Windows中注册表的存放位置二、Windows2000/XP用户配置文件保存在根目录“DocumentsandSettings”下用户名的目录中,包括两个隐藏文件:NTUSER.DAT、NTUSER.INI及NTUSER.DAT.LOG日志文件。系统配置文件位于Windows2000系统目录下的“SYSTEM32\CONFIG”中,包括DEFAULT、SOFTWARE、SYSTEM、AppEvent.Evt、SecEvent.Evt、SysEvent.Evt等多个隐藏文件及其相应的.LOG(日志)文件和.SAV文件。这些注册表文件在Windows2000运行时无法使用其他工具打开,这一点与Windows9X下的system.dat及user.dat不同。备份文件位于Windows\Repair下面。7.3.1注册表的结构在中文Windows系统中,注册表采用“关键字”及其“键值”来描述登录项及其数据。所有的关键字都是以“HKEY”作为前缀开头。这种约定使得系统及应用程序开发人员可以在使用注册表API函数时把它用于应用程序的开发之中。为此,中文Windows提供了若干个Win32API函数,以便在开发中文Windows应用程序时添加、修改、查询和删除注册表的登录项。在注册表中,关键字可以分为两类:一类是由系统定义的,通常称为“预定义关键字”;另一类是由应用程序定义的,安装的应用软件不同,其登录项也就不同。7.1注册表的结构一、根键(主关键字)类似于硬盘上的根目录,在Windows9X的注册表中有六个预定义的根键。如图7-1所示,下面我们就来介绍这些根键。图7-11.HKEY_CLASSES_ROOT该根键包含了有关的OLE信息,以便在系统工作过程中实现对各种文件和文档信息的访问,如图7-2所示。图7-22.HKEY_USERS该根键用于保存默认用户(.DEFAULT)与当前登录用户及软件的信息。3.HKEY_CURRENT_USERHKEY_CURRENT_USER根键是一个指向HKEY_USERS结构中某个分支的指针,它包含当前用户的登录信息和配置信息,实际上它就是HKEY_USERS\.Default下面的一部分内容。如果在HKEY_USERS\.Default下面没有用户登录的其他内容,那么这两个根键包含的内容是完全相同的。如图7-3所示。4.HKEY_LOCAL_MACHINE该根键包含了本地计算机(相对网络环境而言)的硬件和软件的全部信息,如图7-4所示。当系统的配置和设置发生变化时,本关键字下面的登录项也将随之改变。图7-3图7-45.HKEY_CURRENT_CONFIG该根键实际上也是指向HKEY_LOCAL_MACHINE\Config结构中的某个分支的指针,HKEY_CURRENT_CONFIG下面的子关键字及内容与HKEY_LOCAL_MACHINE\Config\0001分支下面的子关键字及内容是完全相同的。如图7-5所示。6.HKEY_DYN_DATA该根键包含了系统运行中的动态数据,即已发生的事件的有关信息,如图7-6所示。图7-5图7-6二、主键和子键主键和子键类似于资源管理器中的文件夹与子文件夹,在主键下面是子键,就像文件夹下有子文件夹。如果某个主键包含子键,则在代表主键的文件夹的左边有一个“+”号,单击“+”号,则可展开该主键下的子键,此时“+”变成“”号;单击“”号,则可收敛该主键下的子键。如图7-7所示。三、键值项键值项类似于文件夹的文件,主键和子键可以包含一个或多个键值项。键值项由键值名、键值类型、键值三部分组成。它在Windows9X中如图7-8所示,在Windows2000中如图7-9所示。注册表就是通过主键(最上层的为“根键”)和子键来管理各种信息。这些信息都是以各种形式的“键值项数据”保存下来。在注册表中,“键值项数据”包含“键值名”(即“名称”栏下面的部分)与“键值”(即“数据”栏下面的部分),如图7-10所示。图7-7图7-8图7-9图7-10四、键值项数据类型在注册表中,“键值项数据”可分为如下三种类型,在右窗格内右击鼠标,则在弹出的快捷菜单中将可以看到这三种类型。1.字符串值在注册表中,字符串值一般用来表示文件的描述、硬件的标识等。2.二进制值在注册表中,二进制值是没有长度限制的,可以是任意个字节长。在注册表编辑器中,二进制以十六进制的方式显示出来。3.DWORD值DWORD值是一个32位(4个字节,即双字)长度的数值。五、Windows2000/XP注册表的键值类型Win2000/XP注册表内的键值类型除了具有Win9X注册表中的三种键值类型外,还具有如下几种键值类型:(1)REG_DWORD:只允许一个值,并且为1个~8个十六进制数据串。(2)REG_SZ:只允许一个值,并且作为存储的串来解释。(3)REG_EXPAND_SZ(可扩充字符串值):类似REG_SZ,只是文本可包含替换的变量。(4)REG_BINARY:只允许一个值,是十六进制数字串,每对作为一个字节值来解释。(5)REG_MULTI_SZ(多字符串值):允许多个值,每个值作为MULTI_SZ的一个成分。7.3.2Windows2000/XP注册表的层次结构了解了Windows9X注册表的结构后,我们再介绍Windows2000/XP注册表的结构,Windows2000/XP注册表基本上是相同的,也都类似于磁盘的文件结构。他只有5个根键。1.HKEY_LOCAL_MACHINE该根键存放了有关本地机器的所有配置信息及硬件、操作系统的数据等。2.HKEY_USERS该根键容纳了当前登录用户的配置设置和缺省的用户配置文件。3.HKEY_CURRENT_USER该根键记录了当前登录到机器上用户的有关信息。4.HKEY_CLASSES_ROOT此根键包含了启动应用程序所需的全部信息,主要包括软件配置信息,特别是对象链接与嵌入(OLE)和Windows2000外壳应用程序使用的信息等,在此根键中,每个扩展名与能使用这种类型文件的应用程序相关联。5.HKEY_CURRENT_CONFIG该根键包含了系统硬件的配置信息。微软为windows操作系统提供了两个注册表编辑器,一个是Regedit.exe,在Windows95/98/Me/NT/2000中使用;另—个是Regedt32.exe,是一个纯32位的程序,只在WindowsNT/2000中使用。这两种windows自带的注册表编辑器各有所长。Regedit.exe的显示界面更符合人们的使用习惯,搜索功能也比较强大;而Regedt32.exe支持的键值数据类型更多,功能也更完善。7.4注册表编辑器一、启动注册表编辑器单击“开始”按钮,然后单击“运行”,在“打开”框内输入regedit,或者regedit.exe,或者C:\windows\regedit.exe,即可打开注册表!也可以进入系统盘系统目录双击regedit程序即可打开!打开注册表如图7-16所示。图7-16二、搜索注册表很多人在启动Win98时遇到*.vxd错误,这说明注册表出现了问题,你可根据提示信息或者错误现象分析可能是注册表中某个驱动程序出现了问题。我们可以将这些错误对应的子键删除来排除错误。但如果你对注册表的结构不是很熟悉的话,不知道对应的子键在哪里?怎么办?不要紧,REGEDIT具有非常强大的查找功能,用户可利用“查找”命令,如图7-17所示。在注册表数据库中快速查找所需的内容,找到后将其删除。具体方法如下:(1)使用“注册表编辑器”的“编辑”菜单中的“查找”命令。(2)根据提示信息中的文件名确定此文件在注册表中的位置。图7-17三、编辑主键与键值1.创建主键和子键在注册表编辑器左窗格显示主键或者子键的分层次关系,你可以在左窗格内创建新的主键(或子键)。例如,我们需要在HKEY_CURRENT_USER\Software分支下创建一个MYSQFT主键,其操作步骤如下:(1)打开指向要创建新主键的位置的注册表,例如,HKEY_CURRENT_USER\Software分支。(2)在左窗格内单击鼠标右键,弹出如图7-18所示的快捷菜单。注意:也可以在“编辑”菜单中选择“新建”命令。(3)在该快捷菜单中指向“新建”,然后单击“主键”,则在Software主键下面创建了一个新的主键(或子键)“新建#1”。(4)在此“新建#1”框内输入新主键的名称,如“MYSOFT”,然后按Enter键。图7-182.为主键和子键命名你可以为新创建的主键或者已有的主键(子键)重新换名。例如,我们可以将前面创建的“MYSOFT”主键换名为“我的软件”。下面为操作步骤:(1)打开要换名的HKEY_CURRENT_USER\Software\MYSOFT分支。(2)按鼠标右键,则弹出的快捷菜单,选择“重命名”(也可以在“编辑”菜单中单击“重命名”命令)。(3)在该快捷菜单中选择“重命名”命令,则在要重命名的主键四周出现一个矩形框。(4)在矩形框内输入新的主键名称,如“我的软件”,然后按Enter键,则完成了主键的重命名操作。3.创建注册表键值项数据例如,我们要在“HKEY_CURRENT_USER\Software\小李注册表大师”分支中加入“RegistryInfo=xiaoma”的键值项数据,可执行如下操作步骤:(1)在注册表中打开“HKEY_CURR
三七文档所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
本文标题:第07章-Windows系统的核心文件-注册表及维护
链接地址:https://www.777doc.com/doc-5722016 .html