注册表解说.docx

上传人:b****8 文档编号:11482032 上传时间:2023-03-01 格式:DOCX 页数:32 大小:36.80KB
下载 相关 举报
注册表解说.docx_第1页
第1页 / 共32页
注册表解说.docx_第2页
第2页 / 共32页
注册表解说.docx_第3页
第3页 / 共32页
注册表解说.docx_第4页
第4页 / 共32页
注册表解说.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

注册表解说.docx

《注册表解说.docx》由会员分享,可在线阅读,更多相关《注册表解说.docx(32页珍藏版)》请在冰豆网上搜索。

注册表解说.docx

注册表解说

超级注册表攻略1

   

1注册表的由来

   PC机及其操作系统的一个特点就是允许用户按照自己的要求对计算机系统的硬件和软件进行各种各样的配置。

早期的图形操作系统,如Win3.x中,对软硬件工作环境的配置是通过对扩展名为.ini的文件进行修改来完成的,但INI文件管理起来很不方便,因为每种设备或应用程序都得有自己的INI文件,并且在网络上难以实现远程访问。

 

   为了克服上述这些问题,在Windows95及其后继版本中,采用了一种叫做“注册表”的数据库来统一进行管理,将各种信息资源集中起来并存储各种配置信息。

按照这一原则,Windows各版本中都采用了将应用程序和计算机系统全部配置信息容纳在一起的注册表,用来管理应用程序和文件的关联、硬件设备说明、状态属性以及各种状态信息和数据等。

与INI文件不同的是:

   1.注册表采用了二进制形式登录数据;

   2.注册表支持子键,各级子关键字都有自己的“键值”;

   3.注册表中的键值项可以包含可执行代码,而不是简单的字串;

   4.在同一台计算机上,注册表可以存储多个用户的特性。

注册表的特点有:

   1.注册表允许对硬件、系统参数、应用程序和设备驱动程序进行跟踪配置,这使得修改某些设置后不用重新启动成为可能。

   2.注册表中登录的硬件部分数据可以支持高版本Windows的即插即用特性。

当Windows检测到机器上的新设备时,就把有关数据保存到注册表 中,另外,还可以避免新设备与原有设备之间的资源冲突。

   3.管理人员和用户通过注册表可以在网络上检查系统的配置和设置,使得远程管理得以实现。

   我们在前面已经详细介绍了注册表的由来与基本结构。

发现注册表比较复杂,但又安排得非常有条理,能有效地提高工作效率,为系统的维护提供了必要条件。

由于注册表是一个二进制的配置数据库文件(Windows的命根子),因而,用户无法直接存取注册表。

为了让高级用户能够编辑注册表,Windows2000提供了注册表编辑器“c”和“Regedt32”。

对这种只使用Windows提供的注册表编辑器进行编辑的操作。

 

   编辑器在安装Windows时已经被安装到硬盘中了,但是并未在“附件”程序组中建有快捷方式。

用户如果需要使用注册表编辑器,可以在“运行”对话框内输入Regedt32或Regedit即可打开注册表编辑器。

或者在“命令提示符”中执行Regedt32.exe也可以进入注册表编辑器。

2注册表详解

   1)注册表是什么

  Windows的注册表(Registry)实质上是一个庞大的数据库,它存储这下面这些内容:

  软、硬件的有关配置和状态信息,应用程序和资源管理器外壳的初始条件、首选项和卸载数据;

  计算机的整个系统的设置和各种许可,文件扩展名与应用程序的关联,硬件的描述、状态和属性;

  计算机性能纪录和底层的系统状态信息,以及各类其他数据。

   2)注册表的结构

  在Windows中,注册表由两个文件组成:

System.dat和User.dat,保存在windows所在的文件夹中。

它们是由二进制数据组成。

System.dat包含系统硬件和软件的设置,User.dat保存着与用户有关的信息,例如资源管理器的设置,颜色方案以及网络口令等等。

  Windows为我们提供了一个注册表编辑器(Regedit.exe)的工具,它可以用来查看和维护注册表。

注册表编辑器与资源管理器的界面相似。

左边窗格中,由"我的电脑"开始,以下是六个分支,每个分之名都以HKEY开头,称为主键(KEY),展开后可以看到主键还包含次级主键(SubKEY)。

当单击某一主键或次主键时,右边窗格中显示的是所选主键内包含的一个或多个键值(value)。

键值由键值名称(valueName)和数据(valueData)组成。

主键中可以包含多级的次级主键,注册表中的信息就是按照多级的层次结构组织的。

每个分支中保存计算机软件或应建设之中某一方面的信息与数据。

  注册表中格分支的功能如下:

   HKEY-CLASSES-ROOT 文件扩展名与应用的关联及OLE信息 

   HKEY-CURRENT-USER 当前登录用户控制面板选项和桌面等的设置,以及映射的网络驱动器 

   HKEY-LOCAL-MACHINE 计算机硬件与应用程序信息 

   HKEY-USERS    所有登录用户的信息 

   HKEY-CURRENT-CONFIG计算机硬件配置信息 

   HKEY-DYN-DATA   即插即用和系统性能的动态信息 

注册表中的键值项数据

  注册表通过键和子键来管理各种信息。

但是注册表中的所有信息都是以各种形式的键值项数据保存的。

在注册表编辑器右窗格中显示的都是键值项数据。

这些键值项数据可以分为三种类型:

  1.字符串值

  在注册表中,字符串值一般用来表示文件的描述和硬件的标识。

通常由字母和数字组成,也可以是汉字,最大长度不能超过255个字符。

在本站中以"a"="***"表示。

  2.二进制值

  在注册表中二进制值是没有长度限制的,可以是任意字节长。

在注册表编辑器中,二进制以十六进制的方式表示。

在本站中以"a"=hex:

01,00,00,00方式表示。

  3.DWORD值

  DWORD值是一个32位(4个字节)的数值。

在注册表编辑器中也是以十六进制的方式表示。

在本站中以"a"=dword:

00000001表示。

注册表的备份与恢复

  如果注册表遭到破坏,Windows将不能正常运行,为了确保Windows系统安全,我们必须经常的备份注册表。

  Windows每次正常启动时,都会对注册表进行备份,System.dat备份为System.da0,User.dat备份为User.da0。

它们存放在Windows所在的文件夹中,属性为系统和隐藏。

  以下为2种备份注册表的方法:

  1,利用Windows中的注册表编辑器(Regedit.exe)进行备份

  运行Regedit.exe,单击“文件“-->“导出注册表文件“命令,选择保存的路径,保存的文件为*.reg,可以用任何文本编辑器进行编辑。

  2,利用Win95光盘上Other\Misc\ERU\ERU.EXE紧急事故恢复工具(EmergencyRecoveryUtility)。

利用这个工具不但可以备份和恢复注册表,还可以备份硬盘中的任何文件。

恢复:

  当注册表损坏时,启动时Windows会自动用System.dat和User.dat的备份System.da0和User.da0进行恢复工作,如果不能自动恢复,可以运行Regedit.exe(它可以运行在在Windows下或DOS下),导入.reg备份文件。

也可以运行ERU.EXE进行恢复。

  如果您没有进行备份或者注册表损坏的非常严重,那么您可以试试最后一着:

在c:

\下有一个System.1st文件,属性为隐藏和只读,它记录着安装Windows时的计算机硬件软件信息,用这个文件覆盖System.dat。

但是这样的话您安装的应用软件可能会无法运行,必须重新安装。

3注册表修改方法

  通过修改注册表我们可以实现一些特殊的功能,但是注册表又是十分脆弱的,一个不小心就会出现错误。

那么我们怎么样来修改注册表呢?

我总结为以下几种方法:

  1.软件修改(安全)

  通过一些专门的修改工具来修改注册表,比如:

MagicSet、TweakUI、WinHacker等等。

其实控制面板就是一个这样的工具,只不过功能简单一些。

  2.间接修改(比较安全)

  将要修改的写入一个.reg文件中,然后导入注册表中。

.reg文件的基本格式为:

REGEDIT4

[HKEY_LOCAL_MACHINE\Software\SuperRabbit\MagicSet]

"@"="SuperRabbitMagicSetForWindows98V2.92"

"a"=dword:

00000001

"b"=hex:

02,05,00,00

……

[HKEY_LOCAL_MACHINE\Software\SCC\QuickViewer]

……

  第一行为“REGEDIT4”,必须大写。

  第二行为空行。

  第三行使用[]括起子键分支,其中HKEY_LOCAL_MACHINE\Software\SuperRabbit\MagicSet就是一个子键分支。

  第四、五、六行是该子键下的设置数据。

其中@表示注册表编辑器右窗格中的"默认"键。

  以下类似。

  这样做的好处是可以避免错误的写入或删除等操作,但是要求用户了解注册表的内部结构和.reg文件的格式。

  3.直接修改(最不安全,但最直接有效)

  就是通过注册表编辑器直接的来修改注册表的键值数据项,这样做会避免在注册表中留下垃圾(虽然都很小,但越来越多会拖慢系统速度),但是要求用户有一定的注册表知识,熟悉注册表内部结构而且一定要小心谨慎。

 

3注册表的数据结构 

   使用注册表编辑器之前,首先得了解注册表的数据结构,例如注册表的显示方式、主键与子键、键值项数据的类型等等。

注册表显示方式

   在Windows系统中,注册表是采用“关键字”及其“键值”来描述登录项及其数据的。

所有的关键字都是以“HKEY”作为前缀开头。

实际上,“关键字”是一个句柄。

这种约定使得系统及应用程序的开发人员,可以在使用注册表中的API函数时把它用于应用程序的开发中。

为此,Windows提供了若干API函数,以便在开发forWindows应用程序时添加、修改、查询和删除注册表的登录项。

 

 在注册表中,关键字可以分为两类:

一类是由系统定义的,一般都称为“预定义关键字”;另一类是由应用程序定义的,由于安装的应用软件不同,其登录项也就不同。

在Windows系统中,打开注册表编辑器,可以看到注册表中的关键字。

  注册表通过主关键字(最上层的为“根键”,例如:

HKEY_CURRENT_USERS就是一个根键,标题栏上也有显示)和子键来管理各种信息,下图中的“KeyboardLayout”是一个主键,展开后就可以看到它里面的子键。

注册表中的所有信息是以各种形式的“键值项数据”保存下来,如下图中的键值项Attributes的数据为“REG_DWORD:

0”。

其中“REG_DWORD”是该键值的数据类型;“0”是代表该键值被赋予的数值。

  在注册表的左边窗口中,所有的数据都是通过一种树状结构,以键和子键的方式组织起来,十分类似于资源管理器内的目录结构。

每个键都包含有一组特定的信息,每个键的键名都是与它所包含的信息相关的(注册表内是以英文的方式出现,比如‘ControlPanel’表示的是控制面板内的一些内容)。

 

  如果这个键包含子键,则在注册表编辑器窗口的左边出现一个“+”号,用来表示在这个文件夹内还有好多内容。

如果这个文件夹被用户打开了,那么“+”号就变为“-”号,与我们使用资源管理器的方法是一样的。

注册表中的“键值数据项”的类型

  在注册表中,“键值项数据”可分为下面三种类型。

二进制(BINARY)

  在注册表中,二进制是没有长度限制的,可以是任意个字节的长度。

在注册表编辑器中,二进制数据以十六进制的方式显示出来,如:

“CustomColors”的键值就是一个二进制数据,双击键值名,出现“编辑二进制数值”对话框,我们可以在二进制和十六进制之间进行切换。

  DWORD值(DWORD)

  DWORD值是一个32位(4个字节,即双字)长度的数值。

在注册表编辑器中,你将会发现系统以十六进制的方式显示DWORD值,在编辑DWORD数值时,可以选择用二进制、十进制或是十六进制的方式进行输入。

字符串值(SZ)

  在注册表中,字符串值一般用来表示文件的描述、硬件的标识等。

通常它由字母和数字组成。

下图文本输入栏中的内容即为一个键值,它是一种字符串值类型。

通过键值名、键值就可以组成一种键值项数据,这就相当于Win.ini、System.ini文件中小节下的设置行。

其实,使用注册表编辑器将这些键值项数据导出后,其形式与.ini文件中的设置完全一样。

注册表数据类型

  注册表的键中包含着各种不同格式的数据。

数据类型可以这样来分类:

 

  通用数据类型--RegEdit、RegEdt32及其它绝大多数注册表工具都支持,并能够对之进行编辑的数据类型。

  WindowsNT专用数据类型--RegEdt32和另外几个注册表工具支持,并能够对其进行编辑的数据类型。

  组件/应用程序专用的特殊数据类型--注册表工具支持这些数据类型,但是对于程序而言是有限度的。

  用户则只能将其作为二进制数进行编辑。

 

  实际上,注册表工具也可以对不支持的数据类型进行编辑,包括那些显示为REG_UNKNOWN类型的数据。

但是编辑仅能在二进制模式下进行,这就需要用户对数据对象的格式非常了解。

对于那些需要手工修改注册表的用户来说,理解每一种数据类型以及每一种类型数据的存储格式是非常重要的。

现有注册表数据类型

 类型                类型索引     大小      说明

REG_BINARY                 3   0~多个字节  可包含任何数据的二进制对象颜色描述

REG_COLOR_RGB                 *   4字节     颜色描述

REG_DWORD                   4   4字节     DWORD值

REG_DWORD_BIG_ENDIAN          5     4字节      一个DWORD值的逆序存储形式

REG_DWORD_LITTLE_ENDIAN       4     4字节       DWORD值

REG_EXPAND_SZ               2   0~多个字节    包含环境变量占位符的字符串

REG_FILE_NAME               *   0~多个字节    文件名

REG_FILE_TIME                  *    未知     文件时间

REG_FULL_RESOURCE_DESCRIPTOR   9      未知        硬件资源列表

REG_LINK                    6   0~多个字节    命名一个符号链接(symboliclink)的Unicode串

REG_MULTI_SZ                  7    0~多个字节    以null字符分隔的字符串集合,集合中的最后一个字符串以两个null字符结尾

REG_NONE                      0      未知        REG_NONE类型的对象无须分类,它与REG_UNKNOWN类型不同

REG_RESOURCE_LIST             8      未知        设备使用的资源列表

REG_RESOURCE_REQUIREMENTS_LIST 10     未知       驱动程序要求的资源列表

REG_SZ                      1   0~多个字节    以一个null字符线的字符串

REG_UNKNOWN               (未定义) 未知        因为数据类型索引无效而无法 

 

4编辑注册表的主键与键值 

   使用注册表编辑器,你可以在注册表中编辑主键(或子键),同时也可以修改键值项数据。

 

建立主键(或子键)

  在注册表中,注册表编辑器左窗格显示主键或者子键的分层次关系。

除此之外,你还可以在左窗格内创建新的主键(或子键)。

 

  例如,我们需要在HKEY_CURRENT_USER\Software分支下创建一个“电脑世界”的主键(或子键)。

 

  首先用注册表编辑工具打开注册表,然后再找到HKEY_CURRENT_USER\Software分支;再单击“编辑”菜单下的“添加项”命令,弹出“添加项”对话框,我们在项名称文本输入框内输入“电脑世界”,然后再单击“确定”按钮,在Software主键下将出现新建立的“电脑世界”主键(或子键)。

建立注册表键值项数据

   建立键值项的方法非常简单,例如在注册表中打开“HKEY_CURRENT_USER\Software\电脑世界”分支;再单击“编辑”菜单下的“添加数值”命令,弹出“添加数值”对话框,在数值名称文本框内输入“RegisterNewInfo”;在数据类型下拉列表中选择数据类型,单击数据类型下拉列表,弹出各种数据类型,我们选择REG_SZ字符串类型,在字符串文本框内输入内容,再单击“确定”按钮,这样就建立好了一个键值,它出现在窗口的右边。

删除主键(或子键)

  如果我们需要将一个键值项删除掉。

首先选择该键值,然后再单击“编辑”菜单下的“删除”按钮,弹出确认删除的对话框,单击“是(Y)”按钮,该键值项数据将从注册表中被删除掉。

 

  删除无用的主键(或子键),是一个减少注册表大小的好方法,先选择好要删除的某些不重要的主键(或者子键)分支,在删除这些分支之前,确认这些分支是否无用或者冗余。

然后再单击“编辑”菜单下的“删除”命令,单击“是(Y)”按钮后,该主键(或子键)将从注册表中删除掉。

 

5注册表的查找与修改 

   一旦注册表出现问题或者需要调整设置,这里就需要修改注册表内的键值项数据。

一般的故障都可以根据自己的经验来找到注册表中相应的位置,而查找这些键值也不是一件容易的事,除非你对注册表中的每一个子键都了如指掌。

 

   使用注册表编辑器内的查找命令,可以方便、快捷地在注册表内找到任意能与之相匹配的键值。

 

   首先在一个根键的窗口内选中该根键,如“HKEY_LOCAL_MACHINE”根键;然后再单击“查看”菜单下的“搜索项”命令。

 

   出现“查找”对话框,请在查找内容文本框内输入要查找的内容,例如“director”,然后再单击“查找下一个(F)”按钮。

 

   查找时鼠标会变为一个“沙漏”的形状,表示程序现在正查找与之匹配的内容;如果该主键内容比较多,可能查找的时间会很长,这下就要看你在Windows中安装了多少软件和硬件设置啦!

但是千万不要以为是死机了,请耐心等一下。

 

   在查找前,我们可以选择“向上(U)”或“向下(D)”来控制查找的顺序;如果选择“全字匹配(W)”,表示要查找的内容必须与文本框内的字符一样,否则会将包含有文本框内字符的内容一并找出;“区分大小写(C)”与全字匹配一样,也是用来设定查找精度的,它会对要查找的英文字母进行大小写的区分。

 

   需要注意的是:

在Regedt32中只能查找到主键或根键,如果需要查找键值名或键值项数据,可以在Rededit(另外一款32位的注册表编辑器,打开的方法与Regedt32编辑器一样)内使用查找命令,然后将查找到的结果(即主键或子键名)放到Regedt32中再进行查找,这样我们就可以得到所要查找的键值名或键值项数据啦!

 

   如果已经查找到所需要的内容,即可单击“取消”按钮,对其进行修改,否则再单击“查找下一个(F3)”按钮继续查找(因为与所要查找字符匹配的内容不止一个)。

 

   整个根键搜索完毕后,会弹出一个“警告”对话框,表示已经查找完毕,再也找不到所匹配的内容。

 

   在Regedt32注册表编辑器中,五个不同的根键是用不同的窗口出现的,如果在该窗口内没有找到所需内容,请切换到其他的几个窗口中再进行查找,所以在查找前应确认查找内容所在的根键位置。

 

   尽管在这些窗口内进行查找十分不便,但作为一个注册表高手,在查找前一定会对注册表内容有一定的了解(在第三部分中有详细的讲解),对要查找的内容做到心中有数,知道自己能在哪个根键内能找到所需的内容。

 

   我们还可以使用注册表编辑器来查看键值及其类型。

键值具有多种类型,如开关型(ON/OFF、0/1)、数值型(二进制、十进制、十六进制、DWORD值等)以及字符串型。

开关型主要用于系统的复选框、检查框等,而数值型用于控制选项的数值。

字符串型通常用于系统显示信息。

 

通常地,与“控制面板”中的图标相关的注册表选项,在修改后可以立即发生作用。

例如,你可以找到注册表中的HKEY_CURRENT_USER\ControlPanel\Keyboard分支下修改KeyboardDelay(重复延迟时间)、KeyboardSpeed(重复率速度)键值数值。

 

   下面我们来修改一下键盘的“重复延迟”,用鼠标双击KeyboardDelay:

REG_SZ:

1,弹出键值编辑窗口。

 

   将原来的值“1”改为“3”,然后再单击“确定”按钮,这时你会发现硬盘会发生响应,将修改后的键值保存到注册表数据库内(在控制面板内我们如果修改了设置后,也会出现类似情况,这表明系统正将你所作的修改保存到注册表内)。

 

   接着再打开控制面板下的键盘选项,弹出的设置键盘对话框。

   在速度标签下,我们会找到设置“重复延迟”的地方,原来停留在第三格的标记现在被放到了第一格上,即键盘的重复延迟被延长啦!

 

同时我们还发现注册表与控制面板内的设置变化是同步的。

但是,有关硬件、网络、输入法等安装方面的键值数据,必须要重新启动系统后才能发生改变。

 

 

6导出与引入注册表 

   注册表是以二进制方式存储在硬盘上。

我们在修改注册表的时候难免会引起一些问题,甚至是致命的故障。

那么对注册表文件进行备份和恢复就具有非常的意义。

除此之外,你还可以将注册表中的某一主键或子键保存为文本文件,并且打印出来,用来研究注册表的结构。

 

导出注册表文件

  作为备份功能,我们可以在Regedit编辑器下单击“注册表”菜单下的“导出注册表文件”命令,并选择导出范围为“全部”,将注册表文件备份在硬盘上。

而作为一般的备份工作,在Regedt32中就可以完成了,比如保存一个根键,或者一个主键(子键)。

 

  在注册表编辑器Regedt32中保存注册表内的数据,可以保存根键、主键或一个子键。

先选择要保存的主键或子键,然后再单击“注册表/保存项”命令。

接着弹出“保存项”对话框,在这里输入要保存的注册表文件的文件名,扩展名一般都使用REG,至于某些主键或子键,因为其使用的用户不同,或者是该主键或子键正在被系统使用,会提示禁止访问的警告,如果你是系统管理员,对某些主键或子键可以为其赋予权限,比如在注册表编辑中为一个用户设置修改打印机的权限。

操作时请单击“安全”菜单下的“权限”命令。

  出现“注册表项的权限”对话框,在名称中选择某一个用户,然后在“访问类型”下拉列表中选择访问类型,访问类型一共有三种,分别是:

“读取”、“完全控制”、“选择性访问”。

选择好后

完全控制后再单击“确定”按钮。

  如果要查看能修改某一个主键或子键的所有者名字,请在“安全”菜单下选择“所有者”命令,将弹出如下图所示的对话框,如果你使用系统的权限比该用户的权限更高,请单击“取

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 动态背景

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1