1.什么是注册表?注册表在什么位置?

2.计算机注册表怎么打开

3.计算机中的注册表是干什么用的?

什么是注册表?注册表在什么位置?

电脑系统中注册表位置-系统注册表文件位置

什么是注册表?

注册表因为它复杂的结构和没有任何联系的CLSID键使得它可能看上去很神秘。不幸的是,微软并没有完全公开讲述关于注册表正确设置的支持信息,这样使得注册表看上去更不可琢磨。处理和编辑注册表如同“黑色艺术”一样,它在系统中的设置让用户感觉象在黑暗中摸索一样找不到感觉。这样,因为用户对这方面的缺乏了解使得注册表更多的出现故障。

Windows注册表是帮助Windows控制硬件、软件、用户环境和Windows界面的一套数据文件,注册表包含在Windows目录下两个文件system.dat和user.dat里,还有它们的备份system.da0和user.da0。通过Windows目录下的regedit.exe程序可以存取注册表数据库。在以前,在windows的更早版本(在win95以前),这些功能是靠win.ini,system.ini和其他和应用程序有关联的.ini文件来实现的.

在windows操作系统家族中,system.ini和win.ini这两个文件包含了操作系统所有的控制功能和应用程序的信息,system.ini管理计算机硬件而win.ini管理桌面和应用程序。所有驱动、字体、设置和参数会保存在.ini文件中,任何新程序都会被记录在.ini文件中。这些记录会在程序代码中被引用。因为受win.ini和system.ini文件大小的限制,程序员添加的.INI文件以用来控制更多的应用程序。举例来说,微软的Excel有一个excel.ini文件,它包含着选项、设置、缺省参数和其他关系到Excel运行正常的信息。在system.ini和win.ini中只需要指出excel.ini的路径和文件名即可。

最开始,system.ini和win.ini控制着所有windows和应用程序的特征和存取方法,它在少数的用户和少数应用程序的环境中工作的很好。随着应用程序的数量和复杂性越来越大,则需要在.ini文件中添加更多的参数项。这样下来,在一个变化的环境中,在应用程序安装到系统中后,每个人都会更改.ini文件。然而,没有一个人在删除应用程序后删除.ini文件中的相关设置,所以system.ini和win.ini这个两个文件会变的越来越大。每增加的内容会导致系统性能越来越慢。而且每次应用程序的升级都出现这样的难题:升级会增加更多的参数项但是从来不去掉旧的设置。而且还有一个明显的问题,一个.ini文件的最大尺寸是64KB。为了解决这个问题,软件商自己开始支持自己的.ini文件,然后指向特定的ini文件如win.ini和system.ini文件。这样下来多个.ini文件影响了系统正常的存取级别设置。如果一个应用程序的.ini文件和WIN.INI文件设置起冲突,究竟是谁的优先级更高呢?

注册表最初被设计为一个应用程序的数据文件相关参考文件,最后扩展成对于32位操作系统和应用程序包括了所有功能下的东东.注册表是一套控制操作系统外表和如何响应外来工作的文件。这些“”的范围从直接存取一个硬件设备到接口如何响应特定用户到应用程序如何运行等等。注册表因为它的目的和性质变的很复杂,它被设计为专门为32位应用程序工作,文件的大小被限制在大约40MB。

注册表都做些什么?

注册表是为Windows NT和Windows95中所有32位硬件/驱动和32位应用程序设计的数据文件。16位驱动在Winnt下无法工作,所以所有设备都通过注册表来控制,一般这些是通过BIOS来控制的。在Win95下,16位驱动会继续以实模式方式设备工作,它们使用system.ini来控制。16位应用程序会工作在NT或者Win95 下,它们的程序仍然会参考win.ini和system.ini文件获得信息和控制。

在没有注册表的情况下,操作系统不会获得必须的信息来运行和控制附属的设备和应用程序及正确响应用户的输入。

在系统中注册表是一个记录32位驱动的设置和位置的数据库。当操作系统需要存取硬件设备,它使用驱动程序,甚至设备是一个BIOS支持的设备。无BIOS支持设备安装时必须需要驱动,这个驱动是独立于操作系统的,但是操作系统需要知道从哪里找到它们,文件名、版本号、其他设置和信息,没有注册表对设备的记录,它们就不能被使用。

当一个用户准备运行一个应用程序,注册表提供应用程序信息给操作系统,这样应用程序可以被找到,正确数据文件的位置被规定,其他设置也都可以被使用。

注册表保存关于缺省数据和文件的位置信息、菜单、按钮条、窗口状态和其他可选项。它同样也保存了安装信息(比如说日期),安装软件的用户,软件版本号和日期,序列号等。根据安装软件的不同,它包括的信息也不同。

然而,一般来说,注册表控制所有32位应用程序和驱动,控制的方法是基于用户和计算机的,而不依赖于应用程序或驱动,每个注册表的参数项控制了一个用户的功能或者计算机功能。用户功能可能包括了桌面外观和用户目录。所以,计算机功能和安装的硬件和软件有关,对所以用户来说项都是公用的。

有些程序功能对用户有影响,有些时作用于计算机而不是为个人设置的,同样的,驱动可能是用户指定的,但在很多时候,它们在计算机中是通用的。

注册表控制用户模式的例子有:

控制面板功能;

桌面外观和图标;

网络参数;

浏览器功能性和特征;

那些功能中的某些是和用户无关的,有些是针对用户的。

计算机相关控制项基于计算机名,和登陆用户无关。控制类型的例子是安装一个应用程序,不管是哪个用户,程序的可用性和存取是不变的,然而,运行程序图标依赖于网络上登陆的用户。网络协议可用性和优先权基于计算机,但是当前连接和用户信息相关。

这里是在注册表中基与计算机控制条目的一些例子:

存取控制;

登陆确认;

文件和打印机共享;

网卡设置和协议;

系统性能和虚拟内存设置;

没有了注册表,Win95和Winnt 就不太可能存在。它们实在太复杂了,以致于用过去的.ini文件无法控制,它们的扩展能力需要几乎无限制的安装和使用应用程序,注册表实现了它。然而,注册表比.ini文件更复杂,理解它如何工作,它做什么和如何用它来做是有效管理系统的关键。

在系统中注册表控制所有32位应用程序和它们的功能及多个应用程序的交互,比如复制和粘贴,它也控制所有的硬件和驱动程序。虽然多数可以通过控制面板来安装和设置,理解注册表仍是做Winnt和Win95系统管理基本常识。

二、注册表的结构

注册表的结构

注册表是Windows程序员建造的一个复杂的信息数据库,它是多层次式的。在不同系统上注册表的基本结构相同。其中的复杂数据会在不同方式上结合,从而产生出一个绝对唯一的注册表。

计算机配置和缺省用户设置的注册表数据在Winnt中被保存在下面这五个文件中:

DEFAULT,SAM,SECURITY,SOFTWARE,SYSTEM,NTUSER.DAT。

Win95中所有系统注册信息保存在windows目录下的SYSTEM.DAT文件里。所有硬件设置和软件信息也保存在这个文件。它要比NT注册表文件简单的多,因为这里并不需要更多的控制。Win95被设计为一个网络的客户或者单独工作的系统,所以用户控制或者安全级别和NT不一样。这使得Win95注册表工作比NT更容易,所以这个文件也比较小。

Win95用户的注册数据一般被保存在windows目录下的user.dat里。如果你在控制面板|密码|用户配置文件中创建并使用多于一个用户的配置文件,每个用户就会有在\WINDOWS\Profiles\username\USER.DAT下它自己的user.dat文件。在启动时,系统将记录你的登陆,从你目录中的配置文件(USER.DAT信息)将被装入,以用来保持你自己的桌面和图标。

控制键

在注册表编辑器中注册表项是用控制键来显示或者编辑的。控制键使得找到和编辑信息项组更容易。因此,注册表使用这些条目。下面是六个控制键

HKEY_LOCAL_MACHINE

HKEY_CLASSES_ROOT

HKEY_CURRENT_CONFIG

HKEY_DYN_DATA

HKEY_USERS

HKEY_CURRENT_USER

Winnt和Win95的注册表并不兼容。从Win95向Winnt升级需要你重新安装32位应用程序,重新在桌面上创建图标,并重新建立用户环境。

通过控制键可以比较容易编辑注册表。虽然它们显示和编辑好象独立的键,其实HKEY_CLASSES_ROOT 和HKEY_CURRENT_CONFIG是 HKEY_LOCAL_MACHINE的一部分。HKEY_CURRENT_USER是HKEY_USERS的一部分。

HKEY_LOCAL_MACHINE包含了HKEY_CLASSES_ROOT和HKEY_CURRENT_CONFIG的所有内容。每次计算机启动时,HKEY_CURRENT_CONFIG和HKEY_CLASSES_ROOT的信息被映射用以查看和编辑。

HKEY_CLASSES_ROOT其实就是HKEY_LOCAL_MACHINE\SOFTWARE\Classes,但是在HKEY_CLASSES_ROOT窗编辑相对来说显得更容易和有条理。

HKEY_USERS保存着缺省用户信息和当前登陆用户信息。当一个域成员计算机启动并且一个用户登陆,域控制器自动将信息发送到HKEY_CURRENT_USER里,而且HKEY_CURRENT_USER信息被映射到系统内存中。其他用户的信息并不发送到系统,而是记录在域控制器里。

键和子键

数据被分割成多层次的键和子键,建立分层次(就象Exploer一样)结构更易于编辑。每个键有成组的信息而且根据在其中的数据类型被命名。每个键在它的文件夹图标上都有一个加号(+)标志子键说明在它下面还有更多内容的东西。当点开它的时候,文件夹的加号标志被替换成一个减号(-)标志,然后显示出下一级的子键。

所有软件,硬件,windows工作的设置都存放在HKEY_LOCAL_MACHINE。所有安全策略,用户权限和共享信息也包括在这个键中。用户权限,安全策略,共享信息可以通过Windows NT域用户管理器,Explorer和Win95中控制面板来设置。

HKEY_CLASSES_ROOT

HKEY_CLASSES_ROOT包含了所有应用程序运行时必需的信息:

在文件和应用程序之间所有的扩展名和关联;

所有的驱动程序名称;

类的ID数字(所要存取项的名字用数字来代替);

DDE和OLE的信息;

用于应用程序和文件的图标;

HKEY_CURRENT_CONFIG.

HKEY_CURRENT_CONFIG是在HKEY_LOCAL_MACHINE中当前硬件配置信息的映射。如果系统只有一个配置文件,也就是原始配置,数据将一直在同样的地方。在控制面板|系统|硬件配置文件|创建一个额外的配置使额外配置信息放入HKEY_LOCAL_MACHINE。当Win95中存在多个配置文件时,当每次计算机启动时将给出一个提示让你选择一个配置文件。在Winnt中,在启动时你可以按空格键来选择上次正常启动时硬件配置文件。根据硬件配置文件选择的不同,特定的信息被映射到HKEY_CURRENT_CONFIG。

HKEY_DYN_DATA

HKEY_DYN_DATA和其他的注册表控制键不同,因为实际上它并不被写入硬盘驱动器中。Win95的一个优点是,在系统启动时HKEY_DYN_DATA这个控制键储存收集到的即插即用信息并配置它们。它保存在内存中,Win95用它来控制硬件。因为是在内存中,所以它不从硬盘中读取,每次当你启动计算机时,配置都有可能会不一样。在启动时Win95必须计算超过1600种可能的配置。所以,如果系统改变既定的设置而没有报告给Win95那么潜在的问题就可能发生。系统大多数时间工作良好,但是并非一直如此。

HKEY_USERS

HKEY_USERS仅包含了缺省用户设置和登陆用户的信息。虽然它包含了所有独立用户的设置,但在用户未登陆网络时用户的设置是不可用的。这些设置告诉系统哪些图标会被使用,什么组可用,哪个开始菜单可用,哪些颜色和字体可用,和控制面板上什么选项和设置可用。

HKEY_CURRENT_USER

用来保存当前用户和缺省用户的信息,HKEY_CURRENT_USER仅映射当前登陆用户的信息。

各主键的简单介绍

HKEY_LOCAL_MACHINE

HKEY_LOCAL_MACHINE是一个显示控制系统和软件的处理键。HKLM键保存着计算机的系统信息。它包括网络和硬件上所有的软件设置。(比如文件的位置,注册和未注册的状态,版本号等等)这些设置和用户无关,因为这些设置是针对使用这个系统的所有用户的。

HKEY_LOCAL_MACHINE\AppEvents

为了以后在瘦客户机上运行客户机/服务器这样的应用程序,在Win95/98中AppEvents键是空的。应用程序实际上都驻留网络服务器上,这些键会保存部分指针。

HKEY_LOCAL_MACHINE\Config

这个键保存着你计算机上所有不同的硬件设置(这些从控制面板的系统属性中硬件配置文件中可以创建)。这些配置在启动时通常被复制到HKCC。每个配置会被用一个键(比如0001或者0002等等)来保存,每个都是一个独立的配置。如果你只有一个单一的配置,那就只会有0001这个键

HKEY_LOCAL_MACHINE\Config\0001\Display

这个键表示显示的设置,如荧屏字体,窗体大小,窗体位置和分辨率等

一个小技巧:当设置了计算机不支持的大分辨率导致Windows不能启动时(黑屏),可以修改分辨率来解决。进入安全模式,运行regedit.exe,在这个键的Resolution键值中把数据值修改为640,480或者800,600这样的低分辨率,然后重新启动计算机即可。

HKEY_LOCAL_MACHINE\Config\0001\System

这个键保存着系统里打印机的信息

HKEY_LOCAL_MACHINE\Config\0001\System\CurrentControlSet\Control\Print\Printers

在这个键下面,有一个键是为系统上每一个打印机设置的,通过控制面板添加和删除打印机会调整这个列表

HKEY_LOCAL_MACHINE\Enum

Enum键包含启动时发现的硬件设备和那些既插即用卡的信息。Win95使用总线列举在启动时通过不同的.ini文件来检测硬件信息。那些在启动时被安装的和被检测到的硬件会显示在这里。子键包括BIOS, ESDI, FLOP, HTREE, ISAPNP, Monitor, Network, Root, SCSI, 和 VIRTUAL。子键名表示它们各自的硬件设备信息。

HKEY_LOCAL_MACHINE\Enum\BIOS

BIOS键保存着系统中所有即插即用设备的信息。它们用一套代码数列出,包括每一个键的详细说明,举例,*pnp0400是并行口LPT1的键。如果LPT1并不具备即插即用功能,它就会别列入到Enum下的Root键中

HKEY_LOCAL_MACHINE\Enum\Root

Root键包括所有非即插即用设备的信息。在这里,我们可以迅速断定哪些设备是即插即用,那些不是。比如SCSI适配器,这个设备必须符合Win95中一个键名为ForcedConfig的硬件设置,这个不会改变。

HKEY_LOCAL_MACHINE\Enum\Network

win95的网络功能在这个键有详细说明,子键包括了每个已经安装的主要的服务和协议。

HKEY_LOCAL_MACHINE\HARDWARE

hardware子键包括了两个多层的子键:DESCRIPTION键,它包含了中央处理器和一个浮点处理器的信息。还有一个设备映射键,它下面的串行键列出你所有的com端口。这个hardware键仅保存超级终端程序的信息,及数学处理器和串行口。

HKEY_LOCAL_MACHINE\Network

这个键仅保存网络登陆信息。所有网络服务细节都保存在HKEY_LOCAL_MACHINE\Enum\Network这个键中。这个键有一个子键,logon,包括了lmlogon(本地机器登陆?0=false 1=true)的值,logonvalidated(必须登陆验证),策略处理,主登陆方式(Windows登陆 ,微软网络客户方式等),用户名和用户配置。

HKEY_LOCAL_MACHINE\SECURITY

security 有两个子键,第一个是存取(它最终致使一个远程键列出网络安全,存取权限等)和提供(包括列出网络地址和地址服务器),这个键被保留用在以后使用高级安全功能和NT兼容性上

HKEY_LOCAL_MACHINE\SOFTWARE

这个键列出了所有已安装的32位软件和程序的.ini文件。它包括了变化,依靠软件安装。那些程序的控制功能在这里的子键中列出。多数子键简单的列出了安装软件的版本号。

我们在\Microsoft\Windows\Current Version下发现了一些有意思的设置,它有如下子键:

1.App paths: 你曾经安装过的所有32位软件的位置。

2.Applets, Compression, Controls Folder : 包括下控制面板象显示属性那样属性条的附件。

3.Detect, explorer :很多有意思的子键如Namespace keys of Desktop和My Computer----它们指出了回收站和拨号网络的CLSID行----和提示子键可以让你建立自己的提示。

4.Extensions : 一个扩展联系的列表,当前相关联的扩展名和比特定的执行文件更适合的目标类型。

5.Fonts, fontsize, FS Templates :系统属性条中所选择文件系统模板, 服务器,桌面计算机或者笔记本电脑信息。

6.MS-DOS Emulation :包括一个应用程序兼容子键 为大量过时的程序二进制键所设。

7.MS-DOS Options :在dos模式下的设置,如himem.sys,cd-roms等。

8.Network :网络驱动的配置。

9.Nls, Policies :系统管理员认为你不应该去做的事。

10.ProfileList :所有可以登陆你计算机的用户名列表。

11.在Windows启动时运行的程序的神秘之处是它们并不在开始菜单的启动文件夹中。它们在HKEY_LOCAL_MACHINE\Microsoft\Windows\CurrentVersion\下的子键中被执行。

Run : 程序在启动时运行

RunOnce : windows初始化时程序在启动时只运行一次,这个经常用在当安装软件之后需要重新启动系统的时候,所以这个键一般都是空的。

RunServices : 它就象Run一样,但是包含了“服务”,它不象一般的程序它们是比较重要的或者是“系统”程序。但是它们不是VXDs,就象McAfee或者RegServ工作一样。

RunServicesOnce : 它只运行一次,但是是“系统自身”的安装(大量的windows安装参数:通常键值包括了系统目录位置,和win95更新,可选项安装组件,和windows启动目录的子键。

注意:在很多黑客木马软件中,常常在这里添加键值(一般是在Run中),这样使得木马软件可以随着windows启动而启动并且很隐秘。在这里可以查看不正常的启动项和去掉无用的运行程序(比如我就很不喜欢超级解霸的自动伺服器,在这里可以去掉它)。

12.SharedDLLs:共享DLL的列表,每一个都给出了在一个不可知系统的一个数字等级。

13.Shell Extensions:列出了“被认可的”OLE注册条,和相应的CLSID连接。

14.ShellScrap :这个包含了一个PriorityCacheformats的子键,它包括了一个空的有限值,它更象过去SmartDrive命令行参数的派生。

15.Time Zones : 主键值是你现在的时区;子键定义了所以可能的时区。

16.Uninstall:这个保存了程序在添加/删除程序对话框的显示;子键包含了指向反安装程序的路径。和安装向导相似.......)winlogon(包含了合法登陆布告的文本句)

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet

这个子键包括设备驱动和其他服务的描述和控制。不同于windows nt,win95只包括限制驱动的控制设置信息。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control

这个子键包括了win95控制面板中的信息。不要编辑这些信息,因为一些小程序的改变在很多地方,一个丢失的项会使这个系统变的不稳定

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services

这个键包括了所有win95的标准服务。所有被添加的服务和设备,每个标准的服务键包括了它的设置和辨认设置。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Arbitrators

atbitrators键包括了当两个设备共同占用同样的设置需要解决的信息。四个子键包括了内存地址,冲突,DMA,I/O端口冲突和IRQ冲突。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Class

class键包括了所有win95支持的设备classes控制,这些和你在添加新硬件出现的硬件组很类似,还包括了这些设备如何安装的信息。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\inetaccs

这个键包括了关于这个系统变化的ie附件的可用性,它仅在你安装过ie2。0或者更高版本才出现。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSNP32

msnp32描述了客户机如何在microsoft网络中实现功能,它包括了认证过程和认证者的信息。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NWNP32

nenp32键描述了windows客户如何在netware网络中工作功能,它包括了关于认证过程和证明者的信息。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RemoteAccess

在这个键里包括需要远程工作在win95系统上的信息,有认证参数,主机信息,和为了建立一个拨号连接工作的协议信息。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SNMP

这个键包括了所以snmp(简单网络管理协议)的参数。它包括了允许的管理,配置陷阱,和有效的团体。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VxD

vxd键包括了win95中所有32位虚拟设备驱动信息,win95自动管理它们,所以不必要用注册表编辑器编辑它们,所以的静态vxds用子键列出。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebPost

webpost键包括了所有装载的internet邮局的设置,如果你连接一个isp,并且它列出载这里,你应该给自己选则一个服务器。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Winsock

这个键列出了当连接到internet上winnsock文件的信息,如果列出了不正确的文件,你将不会连接上internet。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinTrust

wintrust功能是检查从Internet上下载来的文件是否有,它可以确保你得到干净安全的文件。

HKEY_CLASSES_ROOT

在注册表中HKEY_CLASSES_ROOT是系统中控制所有数据文件的项。这个在Win95和Winnt中是相通的。HKEY_CLASSES_ROOT控制键包括了所有文件扩展和所有和执行文件相关的文件。它同样也决定了当一个文件被双击时起反应的相关应用程序。

HKEY_CLASSES_ROOT被用作程序员在安装软件时方便的发送信息,在Win95和Winnt中,HKEY_CLASSES_ROOT和HKEY_LOCAL_MACHINE\Software\Classes是相同的。程序员在运行他们的启动程序时不需要担忧实际的位置,相反的,他们只需要在HKEY_CLASSES_ROOT中加入数据就可以了。

在Windows用户图形界面下,每件事----每个文件,每个目录,每个小程序,每个连接,每个驱动---都被看做一个对象;每个对象都有确定的属性和它联系。HKCR包含着对象类型和它们属性的列表。HKCR主要的功能被设置为:

计算机注册表怎么打开

regedit打开注册表

Windows注册表是帮助Windows控制硬件、软件、用户环境和Windows界面的一套数据文件,注册表包含在Windows目录下两个文件system.dat和user.dat里,还有它们的备份system.da0和user.da0。通过Windows目录下的regedit.exe程序可以存取注册表数据库。在以前,在windows的更早版本(在Win95以前),这些功能是靠win.ini,system.ini和其他和应用程序有关联的.ini文件来实现的.

在windows操作系统家族中,system.ini和win.ini这两个文件包含了操作系统所有的控制功能和应用程序的信息,system.ini管理计算机硬件而win.ini管理桌面和应用程序。所有驱动、字体、设置和参数会保存在.ini文件中,任何新程序都会被记录在.ini文件中。这些记录会在程序代码中被引用。因为受win.ini和system.ini文件大小的限制,程序员添加的.INI文件以用来控制更多的应用程序。举例来说,微软的Excel有一个excel.ini文件,它包含着选项、设置、缺省参数和其他关系到Excel运行正常的信息。在system.ini和win.ini中只需要指出excel.ini的路径和文件名即可。

早在Dos和Win3.x的时代,大部分的应用程序都是用了 ini 文件(初始化文件)来保存一些配置信息,如设置路径,环境变量等。system.ini和win.ini控制着所有windows和应用程序的特征和存取方法,它在少数的用户和少数应用程序的环境中工作的很好。随着应用程序的数量和复杂性越来越大,则需要在.ini文件中添加更多的参数项。这样下来,在一个变化的环境中,在应用程序安装到系统中后,每个人都会更改.ini文件。然而,没有一个人在删除应用程序后删除.ini文件中的相关设置,所以system.ini和win.ini这个两个文件会变的越来越大。每增加的内容会导致系统性能越来越慢。而且每次应用程序的升级都出现这样的难题:升级会增加更多的参数项但是从来不去掉旧的设置。而且还有一个明显的问题,一个.ini文件的最大尺寸是64KB。为了解决这个问题,软件商自己开始支持自己的.ini文件,然后指向特定的ini文件如win.ini和system.ini文件。这样下来多个.ini文件影响了系统正常的存取级别设置。如果一个应用程序的.ini文件和WIN.INI文件设置起冲突,究竟是谁的优先级更高呢?

注册表最初被设计为一个应用程序的数据文件相关参考文件,最后扩展成对于32位操作系统和应用程序包括了所有功能下的东东。注册表是一套控制操作系统外表和如何响应外来工作的文件。这些""的范围从直接存取一个硬件设备到接口如何响应特定用户到应用程序如何运行等等。注册表因为它的目的和性质变的很复杂,它被设计为专门为32位应用程序工作,文件的大小被限制在大约40MB。利用一个功能强大的注册表数据库来统一集中地管理系统硬件设施,软件配置等信息,从而方便了管理,增强了系统的稳定性。最直观的一个实例就是,为什么windows下的不同用户可以拥有各自的个性化设置,如不同的墙纸,不同的桌面。这就是通过注册表来实现的。

由此可见,注册表(Registry)是Windows9x/Me/NT/2000操作系统、硬件设备以及客户应用程序得以正常运行和保存设置的核心"数据库";是一个巨大的树状分层的数据库。它记录了用户安装在机器上的软件和每个程序的相互关联关系;它包含了计算机的硬件配置,包括自动配置的即插即用的设备和已有的各种设备说明、状态属性以及各种状态信息和数据等。

注册表都做些什么?

注册表是为Windows NT和Windows95中所有32位硬件/驱动和32位应用程序设计的数据文件。16位驱动在Windows NT下无法工作,所以所有设备都通过注册表来控制,一般这些是通过BIOS来控制的。在Win9x下,16位驱动会继续以实模式方式设备工作,它们使用system.ini来控制。16位应用程序会工作在NT或者Win9x 下,它们的程序仍然会参考win.ini和system.ini文件获得信息和控制。

在没有注册表的情况下,操作系统不会获得必须的信息来运行和控制附属的设备和应用程序及正确响应用户的输入。

在系统中注册表是一个记录32位驱动的设置和位置的数据库。当操作系统需要存取硬件设备,它使用驱动程序,甚至设备是一个BIOS支持的设备。无BIOS支持的设备安装时必须需要驱动,这个驱动是独立于操作系统的,但是操作系统需要知道从哪里找到它们,文件名、版本号、其他设置和信息,没有注册表对设备的记录,它们就不能被使用。

当一个用户准备运行一个应用程序,注册表提供应用程序信息给操作系统,这样应用程序可以被找到,正确数据文件的位置被规定,其他设置也都可以被使用。

注册表保存关于缺省数据和文件的位置信息、菜单、按钮条、窗口状态和其他可选项。它同样也保存了安装信息(比如说日期),安装软件的用户,软件版本号和日期,序列号等。根据安装软件的不同,它包括的信息也不同。

然而,一般来说,注册表控制所有32位应用程序和驱动,控制的方法是基于用户和计算机的,而不依赖于应用程序或驱动,每个注册表的参数项控制了一个用户的功能或者计算机功能。用户功能可能包括了桌面外观和用户目录。所以,计算机功能和安装的硬件和软件有关,对所以用户来说项都是公用的。

有些程序功能对用户有影响,有些时作用于计算机而不是为个人设置的,同样的,驱动可能是用户指定的,但在很多时候,它们在计算机中是通用的。

注册表控制用户模式的例子有:

★控制面板功能;

★桌面外观和图标;

★网络参数;

★浏览器功能性和特征。

这些功能中的某些是和用户无关的,有些是针对用户的。

计算机相关控制项基于计算机名,和登陆用户无关。控制类型的例子是安装一个应用程序,不管是哪个用户,程序的可用性和存取是不变的,然而,运行程序图标依赖于网络上登陆的用户。网络协议可用性和优先权基于计算机,但是当前连接和用户信息相关。

这里是在注册表中基与计算机控制条目的一些例子:

★存取控制;

★登陆确认;

★文件和打印机共享;

★网卡设置和协议;

★系统性能和虚拟内存设置。

没有了注册表,Win9x和Windows NT 就不太可能存在。它们实在太复杂了,以致于用过去的.ini文件无法控制,它们的扩展能力需要几乎无限制的安装和使用应用程序,注册表实现了它。然而,注册表比.ini文件更复杂,理解它如何工作,它做什么和如何用它来做是有效管理系统的关键。

在系统中注册表控制所有32位应用程序和它们的功能及多个应用程序的交互,比如复制和粘贴,它也控制所有的硬件和驱动程序。虽然多数可以通过控制面板来安装和设置,理解注册表仍是做Windows NT和Win9x系统管理基本常识。

概括起来,注册表中存放着各种参数,直接控制着 Windows 的启动、硬件驱动程序的装载以及一些 Windows 应用程序的运行,从而在整个系统中起着核心作用。它包括:

(1)软、硬件的有关配置和状态信息,注册表中保存有应用程序和管理器外壳的初始条件、首选项和卸载数据。

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

(3)性能记录和其它底层的系统状态信息,以及其它数据。

如果注册表受到了破坏,轻者使 Windows 的启动过程出现异常,重者可能会导致整个系统的完全瘫痪。因此正确地认识、使用,特别是及时备份以及有问题时恢复注册表,对Windows用户来说就显得非常重要。学会了注册表的知识以及相关应用,便能使你的电脑操作更加得心应手!从而成为一位名副其实的电脑高手!

与注册表有关的术语:

①、注册表:是一个树状分层的数据库。从物理上讲,它是System.dat和User.dat两个文件;从逻辑上讲,它是用户在注册表编辑器中看到的配置数据。

②、HKEY :"根键"或"主键",它的图标与管理器中文件夹的图标有点儿相像。Windows98将注册表分为六个部分,并称之为 HKEY_name,它意味着某一键的句柄。(图2)

③、key(键):它包含了附加的文件夹和一个或多个值。

④、subkey(子键):在某一个键(父键)下面出现的键(子键)。

⑤、branch(分支):代表一个特定的子键及其所包含的一切。一个分支可以从每个注册表的顶端开始,但通常用以说明一个键和其所有内容。 ⑥、value entry(值项):带有一个名称和一个值的有序值。每个键都可包含任何数量的值项。每个值项均由三部分组成:名称,数据类型,数据。(如图3)

★ 名称:不包括反斜杠的字符、数字、代表符、空格的任意组合。同一键中不可有相同的名称。

★ 数据类型:包括字符串、二进制、双字三种。

字符串(REG_SZ):顾名思义,一串ASCII码字符。如"Hello World",是一串文字或词组。在注册表中,字符串值一般用来表示文件的描述、硬件的标识等。通常它由字母和数字组成。注册表总是在引号内显示字符串。 二进制(REG_BINARY):如 F03D990000BC ,是没有长度限制的二进制数值,在注册表编辑器中,二进制数据以十六进制的方式显示出来。

双 字(REG_DWORD):从字面上理解应该是Double Word ,双字节值。由1-8个十六进制数据组成,我们可用以十六进制或十进制的方式来编辑。如 D1234567 。

★ 数据: 值项的具体值,它可以占用到64KB。

⑦、 Default(缺省值):每一个键至少包括一个值项,称为缺省值(Default),它总是一个字串。

注册表的内部组织结构及相互关系

计算机配置和缺省用户设置的注册表数据在Windows NT中被保存在下面这五个文件中:DEFAULT,SAM,SECURITY,SOFTWARE,SYSTEM,NTUSER.DAT。而 Windows9x/Me/2000将所有注册表文件存入2个文件中:System.dat和User.dat。它们是二进制文件,不能用文本编辑器查看。它们存在于Windows目录下,具有隐含、系统、只读属性。 System.dat包含了计算机特定的配置数据,User.dat包含了用户特定的数据。User.dat文件的位置在以某个用户名登录时,其位于C:\\Windows\\profiles\\用户名目录下,系统同时在C:\\Windows目录下保留了一个缺省的User.dat文件,以备新用户使用。内部组织结构是一个类似于目录管理的树状分层的结构。

WINDOWS的注册表有六大根键,相当于一个硬盘被分成了六个分区。

在"运行"对话框中输入RegEdit,然后单击"确定"按钮,则可以运行注册表编辑器。

左窗格显示的是注册表的根键,这样的根键共六个。这些根键都是大写的,并以HKEY_为前缀,这种命令约定是以Win32 API的Registry函数的关键字的符号变量为基础的。

虽然在注册表中,六个根键看上去处于一种并列的地位,彼此毫无关系。但事实上,HKEY_CLASSES_ROOT和HKEY_CURRENT_CONFIG中存放的信息都是HKEY_LOCAL_MACHINE中存放的信息的一部分,而HKEY_CURRENT_USER中存放的信息只是HKEY_USERS存放的信息的一部分。HKEY_LOCAL_MACHINE包括HKEY_CLASSES_ROOT和HKEY_CURRENT_USER中所有的信息。在每次系统启动后,系统就映射出HKEY_CURRENT_USER中的信息,使得用户可以查看和编辑其中的信息。

实际上,HKEY_LOCAL_MACHINE\\SOFTWARE\\Classes就是HKEY_CLASSES_ROOT,为了用户便于查看和编辑,系统专门把它作为一个根键。同理,HKEY_CURRENT_CONFIG\\SY-STEM\\Current Control就是HKEY_LOCAL_MACHINE\\SYSTEM\\Current Control。

HKEY_USERS中保存了默认用户和当前登录用户的用户信息。HKEY_CURRENT_USER中保存了当前登录用户的用户信息。

HKEY_DYN_DATA保存了系统运行时的动态数据,它反映出系统的当前状态,在每次运行时都是不一样的,即便是在同一台机器上。

根据上面的分析,注册表中的信息可以分为HKEY_LOCAL_MACHINE和HKEY_USERS两大类,这两大类的详细内容请看后面的介绍。

六大根键的作用

注册表用"关键字"及其"键值"来描述登录项及其数据。所有的关键字都是以"HKEY"作为前缀开头。打个比喻来说,关键字更象Windows9X下的浏览器里的目录下的文件,每个文件都会有自己特有的内容和属性。我们可以在注册表编辑器下很方便地添加、修改、查询和删除注册表的每一个关键字。关键字可以分为两类:一类是由系统定义,一般叫做"预定义关键字";另一类是由应用程序定义的,根据应用软件的不同,登录项也就不同。在注册表中,所有的数据都是通过一种树状结构以键和子键的方式组织起来,十分类似于目录结构。每个键都包含了一组特定的信息,每个键的键名都是 和它所包含的信息相关的。如果这个键包含子键,则在注册表编辑器窗口中代表这个键的文件夹的左边将有"+"符号,以表示在这个文件夹中有更多的内容。如果这个文件夹被用户打开了,那么这个"+"就会变成"-"。 下面我们对系统预定义的六大根键简单地介绍一下。

1.HKEY_USERS

该根键保存了存放在本地计算机口令列表中的用户标识和密码列表,即用户设置。每个用户的预配置信息都存储在HKEY_USERS根键中。HKEY_USERS是远程计算机中访问的根键之一。其内容取决于计算机是否激活了用户配置文件,若未激活用户配置文件,则可以看到称为.DEFAULT的单一子键,该子键包括和所有用户相关的各种设置,并且和\\Windows下的USER.DAT文件相配合。若激活了用户配置文件并且正确地执行了登录,则还有一个"用户名"的子键,该用户名为用户登录的名称。

2.HKEY_CURRENT_USER

该根键包含本地工作站中存放的当前登录的用户信息,包括用户登录用户名和暂存的密码(注:此密码在输入时是隐藏的)。用户登录Windows 98时,其信息从HKEY_USERS中相应的项拷贝到HKEY_CURRENT_USER中。HKEY_CURRENT_USER下面有7个子关键字。其中除RemoteAccess"外,其余6个都为系统预定义。

AppEvents 这个子键里登记已注册的各种应用。

ControlPanel 它里面涉及到控制面板设置有关的内容。

InstallLocationsMRU windows安装路径的有关信息。

Keyboardlayout 关于键盘设置的信息。

Network 有关网络设置的信息。

RemoteAccess 安装IE 时建立的子关键字,包含该应用程序的有关信息。

Software 软件的有关信息。

3.HKEY_CURRENT_CONFIG

该根键存放着定义当前用户桌面配置(如显示器等)的数据,最后使用的文档列表(MRU)和其他有关当前用户的Windows 98中文版的安装的信息。

4.HKEY_CLASSES_ROOT

该键由多个子键组成,具体可分为两种:一种是已经注册的各类文件的扩展名,另一种是各种文件类型的有关信息。左栏中的子键就是各种已经注册的文件扩展名。 注册表内己经登记的文件扩展名中,有系统默认和应用程序自定义的扩展名。应用程序只有把自定义的扩展名在注册表中登记,系统才能识别和关联使用有关的文档,但只有经过注册的扩展名,系统才能自动关联。根据在Windows 98中文版中安装的应用程序的扩展名,该根键指明其文件类型的名称。

在第一次安装Windows 98中文版时,RTF(Rich Text format)文件与写字板(WordPad)联系起来,但在以后安装了中文Word 6.0后,双击一个RTF文件时,将自动激活Word。存放在SYSTEM.DAT中的HKEY_CLASSES_ROOT,将替代WIN.INI文件中的[Extensions]小节中的设置项,它把应用程序与文件扩展名联系起来,它也替代了Windows 3.x中的Reg.dat文件中的相似的设置项。

5.HKEY_LOCAL_MACHINE

注册表的核心,计算机的各种硬件和软件的配置均存在于此。它包括以下八个部分:Config配置、Driver驱动程序、Enum即插即用、Hardware硬件、Network网络、Security安全、Software软件、System系统。每部分中又包括许多子键。该根键存放本地计算机硬件数据,此根键下的子关键字包括在SYSTEM.DAT中,用来提供HKEY_LOCAL_MACHINE所需的信息,或者在远程计算机中可访问的一组键中。该根键中的许多子键与System.ini文件中设置项类似。

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),就可以看到关键字。该键由多个子键组成,具体可分为两种:一种是已经注册的各类文件的扩展名,另一种是各种文件类型的有关信息。左栏中的子键就是各种已经注册的文件扩展名。 注册表内己经登记的文件扩展名中,有系统默认和应用程序自定义的扩展名。应用程序只有把自定义的扩展名在注册表中登记,系统才能识别和关联使用有关的文档,但只有经过注册的扩展名,系统才能自动关联。 当选中某个扩展名关键字时,在窗口的右窗格中将显示出有关的键值。例如在这里选中“.i”时,就表示后缀名的文件类型,它的键值默认为动画文件(ifile);其中“Content Type”表示它满足什么样的文件类型。我们再将滚动条往下拉,能找到有一个关键字“ifile”,它的键值的默认值是“剪辑”,这就表示我们可以对.i文件进行编辑、播放等操作。 还有为i的文件,在右栏中显示的

是它一种是我们常用的文件类型“.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就行了。

接着如下:

attrib +r +h +s system.dat

attrib +r +h +s user.dat

操作完成后,重新启动计算机后就可以了。

◎ 用注册表编辑器来备份注册表

还有一种方法,是用注册表编辑器来备份。这种方法比较方便,也比较迅速。 点“开始”下的“运行”,输入Regedit后“确定”,这样就启动了注册表编辑器, 你所看到的就是注册表的数据库了。打开“注册表”菜单里的“导出注册表文件”,在对话框中输入文件名regedit,默认的后缀名为.reg。当然,为了阅读方便,可以选择.txt的文件类型,这样就将全部注册表或个别的分支保存为一个文件里了。如果在以后的过程中遇到了问题,我们可以选“注册表”里的“引入注册表文件”,将保存的regedit.reg或regedit.txt文件引入到注册表编辑器中,这样能重建注册表。

◎ 在DOS下恢复注册表编辑器备份的注册表文件

如果你的注册表已经严重损坏,造成Windows95 系统不能启动,不要慌,先重新启动计算机,进入Dos7.0,

cd windows

smartdrv

regedit /c regedit.reg

计算机中的注册表是干什么用的?

注册表是Windows系统存储关于计算机配置信息的数据库,包括了系统运行时需要调用的运行方式的设置。Windows注册表中包括的项目有:每个用户的配置文件、计算机上安装的程序和每个程序可以创建的文档类型、文件夹和程序图标的属性设置、系统中的硬件、正在使用的端口等。

注册表按层次结构来组织,由项、子项、配置单元和值项组成。注册表中包括如下各项:

●HKEY_CURRENT_USER:包含当前登录用户的配置信息的根目录。用户文件夹、屏幕颜色和“控制面板”设置存储在此处。该信息被称为用户配置文件。

●HKEY_USERS:包含计算机上所有用户的配置文件的根目录。HKEY_CURRENT_USER是HKEY_USERS的子项。

●HKEY_LOCAL_MACHINE:包含针对该计算机(对于任何用户)的配置信息。

●HKEY_CLASSES_ROOT:是HKEY_LOCAL_MACHINE\Software的子项。此处存储的信息可以确保当使用Windows管理器打开文件时,将使用正确的应用程序打开对应的文件类型。

●HKEY_CURRENT_CONFIG:包含本地计算机在系统启动时所用的硬件配置文件信息。

对于注册表的修改,需要使用专门的编辑器完成,在Windows中为我们提供了这个工具。而在Win2000中微软新提供了一个针对多用户系统的注册表编辑器,这就是我们本期将主要介绍的内容。

在此要特别强调一点:一般来讲注册表不须要用户自己修改,因为其中包括了Windows启动和运行所必须的全部配置,错误的设置将会导致应用程序无法运行、系统出错,直至系统崩溃或无法启动。如果需要对注册表进行编辑,务必事先进行注册表项目备份!

Win2000中的注册表编辑器

在Win2000中,系统提供了两个注册表编辑工具,一个是从Win9x延续下来的,一个是新版本操作系统提供的。在此我们要介绍的是后者。

1.程序的启动

单击系统开始按钮,在关联菜单中选择“运行”命令,激活相关界面。在其中的文本框中输入“regedt32”,并击回车键确定,即可启动程序,其界面形式如图1所示。

2.向注册表中添加新的项或子项

如果需要将一些系统运行设置添加到系统注册表中,而这些信息又不是以*.reg格式提供的,此时只能使用注册表编辑器完成,具体步骤如下:

启动程序,在程序左边的树形列表窗口中选择将在其下添加新项的项或子项。单击程序界面菜单条中的“编辑 睿?⒋庸亓?南吕?说ブ醒≡瘛疤砑酉睢泵?睿?耸被岢鱿秩缤?所示界面。

在图2所示窗口中的“项名称”文本框中输入需要添加的新项名称,对于指定类别,可根据自己的需要设置,当然如果不添加也可以。最后单击确定按钮,返回程序界面即可。

如果需要在HKEY_USERS或HKEY_LOCAL_MACHINE主项中添加新的内容,方法有所不同,此时“编辑”菜单中的“添加项”命令是不允许使用的。正确的添加方法是:单击程序界面菜单条“文件”项下拉菜单中的“加载配置单元”命令,程序会给出一个列表框,在其中选择需要加载的对象,之后单击“打开”按钮,程序会给出“加载配置单元”对话框,在其中输入新建项目名称,之后单击确定按钮即可。在此需要说明的是,加载配置单元主要用于在不同的机器中传递注册表配置,对于配置相同的机器,这样可以节省系统配置时间。

3.给注册表的值项赋值

所谓值项,就是注册表中的含数据字符串的子项,这个设置以字符串方式体现,常见的设置取值包括二进制数值和字符串明码以及DWORD(双字节)值方式。给值项赋值的具体步骤是:首先在注册表编辑器界面左边窗口中选择需要赋值的项或子项,从程序界面菜单条“编辑”项下拉菜单中选择“添加数值”命令,此时会出现如图3所示界面。在其中的“数值名称”文本框中输入需要创建的值项(子项)名,在“数据类型”下拉文本框中选择赋值类型,其中各列表项的含义为:

●REG_BINARY:二进制值;

●REG_DWORD:DWORD值;

●REG_EXPAND_SZ:可扩展字符串;

●REG_MULTI_SZ:多重字符串;

●REG_SZ:数据字符串。

根据自己的需要选择,之后,单击确定按钮。注意,选择的赋值类型不同,程序会给出关联的设置界面,在其中设置具体取值,之后进行确定就可以了。

如果需要修改或编辑值项的赋值,可使用鼠标双击程序界面右边窗口中的赋值列表项,程序会给出相应的赋值编辑器,在其中进行编辑或修改即可,非常简单。

4.以关键字方式查找

由于注册表中包括的项目非常多,当需要从中定位自己需要的项或子项时,使用查找功能是非常必要的。该项功能的具体用法如下:首先在程序界面中选择需要扫描的项或子项所在窗口,单击界面菜单条“察看”项下拉菜单中的“搜索项”命令,此时会出现如图4所示界面。在“查找内容”文本框中输入需要查找的内容关键字,并选择相应的扫描控制方式,之后,单击“查找下一个”按钮确定即可。

5.删除注册表中无用的子项或值项

虽然现在的应用程序都设计有自动卸载功能,但是多数程序并不能完全将自己在注册表中添加的项目删除,这也会导致注册表日益增大,时间长了会导致系统运行变慢等不良现象发生。如果你大致了解注册表的组成,可以将这些无用的设置从注册表中删除,当然这项操作具有一定的风险,使用前应该备份注册表数据文件。对于删除注册表中的项目,非常简单:首先在程序界面中找到需要删除项目所在的主项窗口,然后定位需要删除的值项,一般对于软件注册项都包括在HKEY_CURRENT_USER项下的Software子项中。单击程序界面菜单条“编辑”项下拉菜单中的“删除”命令或者是直接按下“Delete”键,程序会给出删除确认对话框,单击“Yes”按钮确认即可。

此外,对于配置单元项,是不能直接删除的,须要按照如下方法操作:选择需要删除的配置单元列表项,之后从程序界面“文件”下拉菜单中选择“卸载配置单元”命令。

6.保存注册表项目

对于保存注册表项目,可按以下步骤操作:首先在程序界面中选择需要保存的注册表项目对象,之后从界面“文件”下拉菜单中选择“保存项”命令,程序会给出相应的对话框,在其中设置保存文件的文件名、保存路径,对于文件类型,应设置为“所有文件”,之后,单击界面中的“保存”按钮即可。由于Win2000的注册表编辑器根据不同的项给出了单独的窗口,所以,对于完整的保存注册表,须要依次保存相应的项。

7.还原注册表项目

对于还原注册表项目,我们可以理解为恢复注册表项目的备份设置,或者是还原注册表项目。使用该项功能的前提是以前我们对注册表项目进行了备份。该项功能的使用方法非常简单:首先选择需要还原的项目所在的项显示窗口,单击程序界面“文件”项下拉菜单中的“还原”命令,程序会给出一个曰翱颍?谄渲械奈募?斜泶翱谥醒≡裥枰?乖?奈募蟮セ鳌按蚩?卑磁ト范?纯伞?br> 在此要提醒的是,对于项目还原操作,将使用备份的注册表项完全替代当前注册表中原始位置的全部配置,而且会将当前注册表中需要还原位置的全部配置删除。

8.注册表的打开与关闭

当注册表编辑器启动后,程序会自动打开本机的注册表,以供编辑。不过作为Win2000提供的工具,程序提供了关于编辑远程计算机注册表功能,不过我们可以打开的项目限制为HKEY_USERS和HKEY_LOCAL_MACHINE。对于本地注册表窗口的关闭,可从“文件”项下拉菜单中选择“关闭”命令即可。

对于打开远端计算机的注册表,可以从“文件”项下拉菜单中选择“选择计算机”命令,在其中的计算机列表框中选择需要访问的机器名称,之后单击打开按钮确定即可。

9.设置注册表项的权限

设置权限是有效的保护注册表项目的重要方法,使用此项功能可以指定能打开该项的用户和组。以下给出具体设置步骤:首先在程序界面窗口中选择需要指定权限的项,单击界面“安全”项下拉菜单,从中选择“权限”命令,在“名称”列表框中选择需要设置权限的用户或组,如果暂时还没有添加,可单击“添加”按钮,在关联的“选择用户、计算机或组”设置界面中选择需要添加的对象。在界面中的“权限”项列表框中设置允许当前选择对象的使用权限,其中包括只读和完全控制(读写)。如果要给子项指派权限,并希望指派给父项的可继承权限能够应用于子项,请选中“允许将来自父系的可继承权限传播给该对象”复选框。此外,如果单击界面中的“高级”按钮,程序会给出针对当前授权注册表项访问控制设置,其中包括了更加严密的授权设置,如是否允许查询数值、设置数值、创建子项、枚举子项、通知、创建链接、删除、写入DAC、写入所有者、读取控制等,根据自己的需要选择即可。