穿越兄弟耽美文:什么是注册表?他有什么用处?怎样打开及使用?

来源:百度文库 编辑:高考问答 时间:2024/04/29 06:32:21

在windows的开始/运行菜单中输入"regedit"你就可以通过注册表编辑器看到注册表,注册表是什么呢?简单地说,它是用来对windows操作系统进行配置的一个工具.通过它,可以对操作系统及应用软件进行优化,可以自己设置windows的使用权限,可以解决硬件及网络设置不当带来的故障甚至可以改造自己的操作系统.
注册表是你系统的核心,如果不熟请勿修改,或先备份
你可以从开始菜单中的运行输入regedit即可打开!

注册表对有的人还是比较陌生的,因为现在第三方软件太多了,如优化大师、魔法兔子等等,但个人觉得改善系统的第三方软件还不够完善,如果初级用户使用不当,会出现严重的后果,所以提供这篇文章,希望大家多多学习,本人能力有限,还希望大家多提宝贵意见:
一、注册表的由来
PC机及其操作系统的一个特点就是允许用户按照自己的要求对计算机系统的硬件和软件进行各种各样的配置。早期的图形操作系统,如Win3.x中,对软硬件工作环境的配置是通过对扩展名为.ini的文件进行修改来完成的,但INI文件管理起来很不方便,因为每种设备或应用程序都得有自己的INI文件,并且在网络上难以实现远程访问。

为了克服上述这些问题,在Windows 95及其后继版本中,采用了一种叫做“注册表”的数据库来统一进行管理,将各种信息资源集中起来并存储各种配置信息。按照这一原则,Windows各版本中都采用了将应用程序和计算机系统全部配置信息容纳在一起的注册表,用来管理应用程序和文件的关联、硬件设备说明、状态属性以及各种状态信息和数据等。

与INI文件不同的是:
1.注册表采用了二进制形式登录数据;
2.注册表支持子键,各级子关键字都有自己的“键值”;
3.注册表中的键值项可以包含可执行代码,而不是简单的字串;
4.在同一台计算机上,注册表可以存储多个用户的特性。

注册表的特点有:
1.注册表允许对硬件、系统参数、应用程序和设备驱动程序进行跟踪配置,这使得修改某些设置后不用重新启动成为可能。
2.注册表中登录的硬件部分数据可以支持高版本Windows的即插即用特性。当Windows检测到机器上的新设备时,就把有关数据保存到注册表中,另外,还可以避免新设备与原有设备之间的资源冲突。
3.管理人员和用户通过注册表可以在网络上检查系统的配置和设置,使得远程管理得以实现。

二、使用注册表
1.大家可以在开始菜单中的运行里输入regedit
2.也可以在DOS下输入regedit

三、注册表根键说明
hkey_classes_root 包含注册的所有OLE信息和文档类型,是从 hkey_local_machine\software\classes复制的。
hkey_current_user 包含登录的用户配置信息,是从hkey_users\当前用户子树复制的。
hkey_local_machine 包含本机的配置信息。其中config子树是显示器打印机信息; enum子树是即插即用设备信息;system子树是设备驱动程序和服务参数的控制集合;software子树是应用程序专用设置。
hkey_users 所有登录用户信息。
hkey_current_config 包含常被用户改变的部分硬件软件配置,如字体设置、显示器类型、打印机设置等。是从hkey_local_machine\config复制的。
hkey_dyn_data 包含现在计算机内存中保存的系统信息。

四、注册表详细内容
Hkey_local_machine\software\microsoft\windows\currentVersion\explorer\user shell folders 保存个人文件夹、收藏夹的路径
Hkey_local_machine\system\currentControlSet\control\keyboard Layouts保存键盘使用的语言以及各种中文输入法
Hkey_users\.Default\software\microsoft\internet explorer\typeURLs保存IE浏览器地址栏中输入的URL地址列表信息。清除文档菜单时将被清空。
Hkey_users\.Default\so..\mi..\wi..\currentVersion\ex..\menuOrder\startMenu 保留程序菜单排序信息
Hkey_users\.Default\so..\microsoft\windows\currentVersion\explorer\RunMRU 保存“开始 * 运行...“中运行的程序列表信息。清除文档菜单时将被清空。
Hkey_users\.Default\so..\microsoft\windows\currentVersion\explorer\ecentDocs 保存最近使用的十五个文档的快捷方式(删除掉可解决文档名称重复的毛病),清除文档菜单时将被清空。
Hkey_local_machine\software\microsoft\windows\currentVersion\uninstall 保存已安装的Windows应用程序卸载信息。
hkey_users\.default\software\microsoft\windows\currentVersion\applets 保存Windows应用程序的纪录数据。
Hkey_local_machine\system\CurrentControlSet\services\class 保存控制面板-增添硬件设备-设备类型目录。
Hkey_local_machine\system\CurrentControlSet\control\update 立即刷新设置。值为00设置为自动刷新,01设置为手工刷新[在资源管理器中按F5刷新]。
HKEY_CURRENT_USER\Control Panel\Desktop 新建串值名MenuShowDelay=0 可使“开始”菜单中子菜单的弹出速度提高。新建串值名MinAnimate,值为1启动动画效果开关窗口,值为0取消动画效果。
Hkey_local_machine\software\microsoft\windows\currentVersion\run 保存由控制面板设定的计算机启动时运行程序的名称,其图标显示在任务条右边。[启动文件夹程序运行时图标也在任务条右边]
hkey_users\.default\software\microsoft\windows\currentVersion\run保存由用户设定的计算机启动时运行程序的名称,其图标显示在任务条右侧。
HKEY_CLASS_ROOT/Paint.Pricture/DefaultIcon 默认图片的图标。双击窗口右侧的字符串,在打开的对话框中删除原来的键值,输入%1。重新启动后,在“我的电脑”中打开Windows目录,选择“大图标“,然后你看到的Bmp文件的图标再也不是千篇一律的画板图标了,而是每个Bmp文件的略图。
Hkey-local-machine\ software\ microsoft\ windows\ currentVersion\ Policies\ Ratings 保存IE4.0中文版“安全”*“分级审查”中设置的口令(数据加密)。
Hkey-local-machine\ software\ microsoft\ windows\ currentVersion\ explorer\ desktop\nameSpace保存桌面中特殊的图标,如回收站、收件箱、MS Network等。

五、如何备份注册表
利用注册表编辑器手工备份注册表

注册表编辑器(Regedit)是操作系统自带的一款注册表工具,通过它就能对注册表进行各种修改。当然,"备份"与"恢复"注册表自然是它的本能了。

(1)通过注册表编辑器备份注册表
由于修改注册表有时会危及系统的安全,因此不管是WINDOWS 98还是WINDOWS 2000甚至WINDOWS XP,都把注册表编辑器"藏"在了一个非常隐蔽的地方,要想"请"它出山,必须通过特殊的手段才行。点击"开始"菜单,选择菜单上的"运行"选项,在弹出的"运行"窗口中输入"Regedit"后,点击"确定"按钮,这样就启动了注册表编辑器。

点击注册表编辑器的"注册表"菜单,再点击"导出注册表文件"选项,在弹出的对话框中输入文件名"regedit",将"保存类型"选为"注册表文件",再将"导出范围"设置为"全部",接下来选择文件存储位置,最后点击"保存"按钮,就可将系统的注册表保存到硬盘上。

完成上述步骤后,找到刚才保存备份文件的那个文件夹,就会发现备份好的文件已经放在文件夹中了。

(2)在DOS下备份注册表

当注册表损坏后,WINDOWS(包括"安全模式")无法进入,此时该怎么办呢?在纯DOS环境下进行注册表的备份、恢复是另外一种补救措施,下面来看看在DOS环境下,怎样来备份、恢复注册表。

在纯DOS下通过注册表编辑器备份与恢复注册表前面已经讲解了利用注册表编辑器在WINDOWS环境下备份、恢复注册表,其实"Regedit.exe"这个注册表编辑器不仅能在WINDOWS环境中运行,也能在DOS下使用。

虽然在DOS环境中的注册表编辑器的功能没有在WINDOWS环境中那么强大,但是也有它的独到之处。比如说通过注册表编辑器在WINDOWS中备份了注册表,可系统出了问题之后,无法进入WINDOWS,此时就可以在纯DOS下通过注册表编辑器来恢复注册表。

应该说在DOS环境中备份注册表的情况还是不多见的,一般在WINDOWS中备份就行了,不过在一些特殊的情况下,这种方式就显得很实用了。

进入DOS后,再进入C盘的WINDOWS目录,在该目录的提示符下输入"regedit"后按回车键,便能查看"regedit"的使用参数。

通过"Regedit"备份注册表仍然需要用到"system.dat"和"user.dat"这两个文件,而该程序的具体命令格式是这样的:
Regedit /L:system /R:user /E filename.reg Regpath
参数含义:
/L:system指定System.dat文件所在的路径。
/R:user指定User.dat文件所在的路径。
/E:此参数指定注册表编辑器要进行导出注册表操作,在此参数后面空一格,输入导出注册表的文件名。
Regpath:用来指定要导出哪个注册表的分支,如果不指定,则将导出全部注册表分支。在这些参数中,"/L:system"和"/R:user"参数是可选项,如果不使用这两个参数,注册表编辑器则认为是对WINDOWS目录下的"system.dat"和"user.dat"文件进行操作。如果是通过从软盘启动并进入DOS,那么就必须使用"/L"和"/R"参数来指定"system.dat"和"user.dat"文件的具体路径,否则注册表编辑器将无法找到它们。

比如说,如果通过启动盘进入DOS,则备份注册表的命令是"Regedit /L:C:\windows\/R:C:\windows\/e regedit.reg",该命令的意思是把整个注册表备份到WINDOWS目录下,其文件名为"regedit.reg"。而如果输入的是"regedit /E D:\regedit.reg"这条命令,则是说把整个注册表备份到D盘的根目录下(省略了"/L"和"/R"参数),其文件名为"Regedit.reg"。

(3)用注册表检查器备份注册表
在DOS环境下的注册表检查器Scanreg.exe可以用来备份注册表。

命令格式为:
Scanreg /backup /restore /comment

参数解释:
/backup用来立即备份注册表
/restore按照备份的时间以及日期显示所有的备份文件
/comment在/restore中显示同备份文件有关的部分

注意:在显示备份的注册表文件时,压缩备份的文件以.CAB文件列出,CAB文件的后面单词是Started或者是NotStarted,Started表示这个文件能够成功启动Windows,是一个完好的备份文件,NotStarted表示文件没有被用来启动Windows,因此还不能够知道是否是一个完好备份。

比如:如果我们要查看所有的备份文件及同备份有关的部分,命令如下:Scanreg /restore /comment

六、使用技巧
上面介绍的都是概念上的东东,下面让我们实际操作吧
1.加快开机及关机速度

在[开始]#>[运行]#>键入[Regedit]#>[HKEY_CURRENT_USER]#>[Control Panel]#>[Desktop],将字符串值[HungAppTimeout]的数值数据更改为[200],将字符串值[WaitToKillAppTimeout]的数值数据更改为1000.另外在[HKEY_LOCAL_MACHINE]#>[System]#>[CurrentControlSet]#>[Control],将字符串值[HungAppTimeout]的数值数据更改为[200],将字符串值[WaitToKillServiceTimeout]的数值数据更改1000

2.自动关闭停止响应程序

在[开始]#>[运行]#>键入[Regedit]#>[HKEY_CURRENT_USER]#>[Control Panel]#>[Desktop],将字符串值[AutoEndTasks]的数值数据更改为1,重新启动即可

3.清除内存内被不使用的DLL文件

在[开始]#>[运行]#>键入[Regedit]#>[HKKEY_LOCAL_MACHINE]#>[SOFTWARE]#>[Microsoft]#>[Windows]#>[CurrentVersion],在[Explorer]增加一个项[AlwaysUnloadDLL],默认值设为1。注:如由默认值设定为[0]则代表停用此功能

4.加快菜单显示速度

在[开始]#>[运行]#>键入[Regedit]#>[HKEY_CURRENT_USER]#>[Control Panel]#>[Desktop],将字符串值[MenuShowDelay]的数值数据更改为[0],调整后如觉得菜单显示速度太快而不适应者可将[MenuShowDelay]的数值数据更改为[200],重新启动即可

5.禁止修改用户文件夹

找到HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer。如果要锁定“图片收藏”、“我的文档”、“收藏夹”、“我的音乐”这些用户文件夹的物理位置,分别把下面这些键设置成1:DisableMyPicturesDirChange,DisablePersonalDirChange,DisableFavoritesDirChange,DisableMyMusicDirChange

6.减小浏览局域网的延迟时间

和Windows 2000一样,XP在浏览局域网时也存在烦人的延迟问题,但介绍这个问题的资料却很难找到。如果你浏览一台Win 9x的机器,例如,在网上邻居的地址栏输入“\computername”,XP的机器会在它正在连接的机器上检查“任务计划”。这种搜索过程可能造成多达30秒的延迟。如果你直接打开某个共享资源,例如在网上邻居的地址栏输入“\computernameshare”,就不会有这个延迟过程。要想避免XP搜索“任务计划”的操作,提高浏览网络的速度,你可以删除HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorerRemoteComputerNameSpace{D6277990-4C6A-11CF-8D87-00AA0060F5BF}子键。该键的类型是REG_SZ

7.屏蔽系统中的热键

点击“开始”→“运行”,输入Regedit,打开注册表编辑器。然后依次打开到HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer,新建一个双字节值,键名为“NoWindows Keys”,键值为“1”,这样就可以禁止用户利用系统热键来执行一些禁用的命令。如果要恢复,只要将键值设为0或是将此键删除即可

8.关闭不用的共享

安全问题一直为大家所关注,为了自己的系统安全能够有保证,某些不必要的共享还是应该关闭的。用记事本编辑如下内容的注册表文件,保存为任意名字的.Reg文件,使用时双击即可关闭那些不必要的共享:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters]

"AutoShareServer"=dword:00000000

"AutoSharewks"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]

"restrictanonymous"=dword:00000001

9.让IE支持多线程下载
一般情况下,大家都使用多线程下载软件如Flashget等下载文件,其实IE也可以支持多线程下载的,只是微软将这个功能给藏了起来。我们把它给挖出来就可以使用了。打开注册表编辑器,在注册表HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings下新建双字节值项“MaxConnectionsPerServer”,它决定了最大同步下载的连线数目,一般设定为5~8个连线数目比较好。另外,对于HTTP 1.0服务器,可以加入名为“MaxConnectionsPer1_0Server”的双字节值项,它也是用来设置最大同步下载的数目,也可以设定为5~8。

10.让WINDOWS XP自动登陆

打开:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon,在右边的窗口中的新建字符串"AutoAdminlogon",并把他们的键值为"1",并且把“DefaultUserName”的值设置为用户名,并且另外新建一个字符串值“DefaultPassword”,并设其值为用户的密码

七、我们来让我们的系统瘦瘦身
删除多余的虚拟光驱图标

当我们在系统中安装了虚拟光驱后,“我的电脑”中就会多出一个光盘图标,即便日后你不再使用虚拟光驱,虚拟光驱图标还会继续保留,实在没有必要。我们动手来删除这个多余的虚拟光驱图标:单击“开始→运行”,输入“regedit”,按下“确定”键后打开注册表编辑器,依次展开HKEY_LOCAL_MACHINE\Enum\SCSI分支,在SCSI子键下通常有两个子键,它们分别对应着虚拟光驱和物理光驱,把SCSI下的子键全部删除,重新启动电脑后虚拟光驱图标就会被删除。

删除多余的系统级图标

系统级图标是指在安装Windows时由系统自动创建的图标,如回收站、收件箱、网上邻居等,其中有些图标对用户来说并无用处,但这些图标无法直接删除。打开注册表编辑器,依次展开HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\

explorer\Desktop\NameSpace分支,然后删除不需要的子键。关闭注册表编辑器,重新启动电脑后,你会发现桌面上不需要的系统级图标已经消失了。

删除“运行”中多余的选项

如果你多次使用“开始→运行”菜单,会发现它的“打开”窗口被一大堆不再需要的命令弄得凌乱不堪。打开注册表编辑器,依次展开HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion

\Explorer\RunMRU分支,将右侧窗口的相关键值删除即可。

删除“查找”中多余的选项

依次展开HKEY_USER\.Default\Software\Microsoft\Windows\CurrentVersion

\Explorer\Doc-FindSpecMRU分支,将右侧窗口中的相关键值删除即可。

删除多余的键盘布局

Windows试图成为世界的宠儿,因此其键盘布局适合于各国各类人的使用习惯。打开注册表编辑器,依次展开HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control

\KeyboardLayouts分支,我们可以看到该分支下保存了西班牙语(传统)、丹麦语、德语(标准)等多种键盘布局,如果你用不到这些语言的键盘布局,完全可以直接删除这些子键。

删除多余的区域设置

与上述键盘布局相类似的还有Windows的区域设置,在注册表编辑器中展开HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control

\Nls\Locale分支,简体中文使用者完全可以只保留“00000804”键值,其他可以毫不留情地删除。

八、高级篇
1、自动清除登录窗口中上次访问者的用户名
?通常情况下,用户在进入WINNT网络之前必须输入自己的用户名称以及口令。但是当你重新启动计算机,登录WINNT时,WINNT会在缺省情况下将上一次访问者的用户名自动显示在登录窗口的“用户名”文本框中。这样一来,有些非法用户可能利用现有的用户名来猜测其口令,一旦猜中的话,将会对整个计算机系统产生极大的安全隐患。为了保证系统不存在任何安全隐患,我们可以通过修改WINNT注册表的方法来也提供了启动时自动以某一个组的用户名称和口令进行访问WINNT,而不需要通过人工设置的方法来自动清除登录窗口中上次访问者的用户名信息。要实现自动清除功能,必须要进行如下配置: A、在开始菜单栏中选择运行命令,在随后打开的运行对话框里输入REGEDIT命令,从而打开注册表编辑器。
B、在打开的注册表编辑器中,依次展开以下的键值: [HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\WINLOGON]
C、在编辑器右边的列表框中,选择“DONTDISPLAYLASTUSERNAME”键值名称,如果没有上面的键值,可以利用“编辑”菜单中的“新建”键值命令添加一个,并选择所建数据类型为“REG_SZ”。
D、选择指定的键值并双击,当出现“字符串编辑器”对话框时,在“字符串”文本框中输入“1”,其中“1”代表起用该功能,“0”代表禁止该功能。
E、当用户重新启动计算机登录WINNT时,NT登录对话框中的“用户名”文本框中将是空白的。
2、为一些非SCSI接口光驱进行手工配置
如果你想在WINNT上安装一个非SCSI接口的光驱,在WINNT版本较高的计算机中这中类型的光驱可能被自动识别并自动由计算机来完成其安装任务,不巧的是,你的计算机中安装了一个低版本的操作系统,例如安装了WINNT3.5,还没有时间来升级,但现在就着急用光驱呢,那该怎么办才好呢?不急,虽然Windows NT3.5不能自动识别非SCSI接口的光驱,但我们可以通过手工安装的方式来帮你轻松搞定这个小问题,具体工作步骤为:
A、首先必须将你手中的对应的非SCSI接口的CD-ROM驱动程序从安装盘拷贝到WINNT\SYSTEM32\DRIV ERS目录下。
B、在WINNT主群组中打开Setup图标。
C、从OPTION菜单中选择“Add/Remove SCSI Adapters”。 D、用鼠标单击ADD按钮,为你的非SCSI接口CD-ROM选择对应的驱动程序。
E、接着单击“INSTALL”按钮进行一些相关参数的配置。 F、退出Windows NT,重新启动计算机后光驱就会有用了。
3、增加NTFS性能
如果用户想增加NTFS的性能,也可以通过修改注册表的方法来达到目的,具体实现步骤如下:
A、打开注册表编辑器,并在编辑器中依次展开以下键值:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem
B、在注册表编辑器中用鼠标单击“编辑”菜单,并在下拉菜单中选择“新建”菜单项,并在其弹出的子菜单中单击“DWORD值”。
C、 在编辑器右边的列表中输入DWORD值的名称为“NtfsDisableLastAccessUpdate”。
D、 接着用鼠标双击NtfsDisableLastAccessUpdate键值,编辑器就会弹出一个名为“字符串编辑器”的对话框,在该对话框的文本栏中输入数值“1”,其中0代表“取消”该项功能,1代表“启用”该项功能。
E、设置好后,重新启动计算机就会使上述功能有效。
4、修复镜像组
A、当镜像磁盘组中的驱动器发生故障时,系统自动向其余的驱动器发出发送数据请求,留下工作驱动器单独运行。此时,用户需要进入Disk Administrator,选择镜像组,再选择FaultTolerance/Break Mirror,将镜像组分为两个独立部分。
B、工作的驱动器得到磁盘组所用的驱动器盘符,故障驱动器得到系统的下一个有效盘符。关闭NT Server,更换一个相同型号的硬盘驱动器。
C、重新启动NT Server,运行Disk Administor,在新驱动器上选择分区和未用空间,选择Fault Tolerance/Establish Mirror即可对新驱动器作镜像。
5、自定义启动信息
每次当WINNT启动时,它都会显示“请按CTRL+ALT+DELETE键来登录”的信息,而如果你希望用户在按完CTRL+ALT+DELETE键后,画面上自动显示用户自己希望所看到的信息,可以通过如下的相关设置来进行:
A、在开始菜单栏中选择运行命令,在随后打开的运行对话框里输入REGEDIT命令,从而打开注册表编辑器。
B、在打开的注册表编辑器中,依次展开以下的键值: [HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\WINLOGON]
C、在编辑器右边的列表框中,选择“LEGALNOTICECAPTION”键值名称,如果没有上面的键值,可以利用“编辑”菜单中的“新建”键值命令添加一个,并选择所建数据类型为“REG_SZ”。
D、选择指定的键值并双击,当出现“字符串编辑器”对话框时,在“字符串”文本框中输入用户希望看到的信息窗口的标题内容,例如输入“WINNT网络”。
E、接着在下面一个“字符串”文本框中输入信息窗口要显示的具体内容,例如输入“欢迎使用W

什么是注册表一
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支持的设备安装时必须需要驱动,这个驱动是独立于操作系统的,但是操作系统需要知道从哪里找到它们,文件名、版本号、其他设置和信息,没有注册表对设备的记录,它们就不能被使用。

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

★控制面板功能;

★桌面外观和图标;

★网络参数;

★浏览器功能性和特征。 ↑

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

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

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

★存取控制;

★登陆确认;

★文件和打印机共享;

★网卡设置和协议;

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

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

在系统中注册表控制所有32位应用程序和它们的功能及多个应用程序的交互,比如复制和粘贴,它也控制所有的硬件和驱动程序。虽然多数可以通过控制面板来安装和设置,理解注册表仍是做Windows NT和Win9x系统管理基本常识。 概括起来,注册表中存放着各种参数,直接控制着 Windows 的启动、硬件驱动程序的装载以及一些 Windows 应用程序的运行,从而在整个系统中起着核心作用。它包括: (1)软、硬件的有关配置和状态信息,注册表中保存有应用程序和资源管理器外壳的初始条件、首选项和卸载数据。 (2)联网计算机的整个系统的设置和各种许可,文件扩展名与应用程序的关联,硬件部件的描述、状态和属性。 (3)性能记录和其它底层的系统状态信息,以及其它数据。 如果注册表受到了破坏,轻者使 Windows 的启动过程出现异常,重者可能会导致整个系统的完全瘫痪。因此正确地认识、使用,特别是及时备份以及有问题时恢复注册表,对Windows用户来说就显得非常重要。学会了注册表的知识以及相关应用,便能使你的电脑操作更加得心应手!从而成为一位名副其实的电脑高手!
三、与注册表有关的术语:

①、注册表:是一个树状分层的数据库(如图1)。从物理上讲,它是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文件,以备新用户使用。内部组织结构是一个类似于目录管理的树状分层的结构(如图1)。

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

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

图1左窗格显示的是注册表的根键,这样的根键共六个。这些根键都是大写的,并以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

该根键存放了系统在运行时动态数据,此数据在每次显示时都是变化的,因此,此根键下的信息没有放在注册表中。

在开始-运行中输入regedit 回车就可以打开,或者C:\WINDOWS\regedit 也可以打开。

注册表是windows的命根,里面储存着大量的系统信息,是一个庞大的数据库。注册表里面所有的信息平时都是由windows操作系统自主管理的,也可以通过软件或手工修改。注册表里面有很多系统的重要信息,包括外设,驱动程序,软件,用户记录等等,注册表在很大程度上“指挥”电脑怎样工作。注册表有很大的用处,功能非常强大,是windows的核心。通过修改注册表,我们可以对系统进行限制、优化等等 以下是对注册表的一点分析。

HKEY_CLASSES_ROOT

这个项包含所有的文件类型,文件关系,图标文件名,com对象等信息(也就是说哪一种文件要被哪一种应用程序打开都会记录在这个项里面)

HKEY_USERS

所有WINDOWS用户的文件都会记录在这个项里面,每个用户会有自己的项以保存个人设置值

HKEY_CURRENT_USER

这个项保存了目前登陆的用户文件,以及个性化的设置,如 桌面外观,软件设置,开始菜单等.会随着登陆的用户不同而有所改变.这个项其实是HKEY_USERS的子项,当用户登陆系统后即由HKEY_USERS将用户的登陆设置值复制一份而成为HKEY_CURRENT_USER的项

HKEY_LOCAL_MACHINE

这个项保存了绝大部分的系统信息,包括硬件配置,网络设置,以及你所安装的软件等,是注册表里最重要也最庞大的项,当你用设备管理器更改了硬件的设置时,这个项里的文件也会跟着变动
[color=Red]由于HKEY_LOCAL_MACHINE是常接触的项,因此再说说下面的5个子项[/color]
HARDWARE: 此项记录了与硬件有关的各项信息 如驱动的设置
SAM: 包含关于用户和组帐户的信息
SECURITY: 包含安全相关的信息 如 用户权限
SOFTWARE: 包含已安装的各项软件信息
SYSTEM: 包含有关系统启动,驱动程序加载等与操作系统本身相关的各项设置信息
(这5个项的内容保存在\%SYSTEMROOT%\SYSTEM32\CONFIG)

HKEY_CURRENT_CONFIG

此项主要记录PNP设备及硬件的设置值(这与HKEY_LOCAL_MACHINE的部分内容重叠,这是由于XP支持"多硬件设置文件")

注册表就好像人的神经系统,因为它对电脑太过重要的关系,新手就不要乱改里面的东东,如果你一不小心,你就知错啦,呵呵!你想打开看看就按 开始-运行 输入regedit
就可以啦.