轻松玩转注册表_第1页
轻松玩转注册表_第2页
轻松玩转注册表_第3页
轻松玩转注册表_第4页
轻松玩转注册表_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

轻松玩转注册表(一)2005-01-31 17:30:38对于注册表,每个Windows用户都又爱又恨:对系统的个性修改和提升系统性能离不开它,但最容易出问题的也是它。高手们把它当然展现自己才华的窗口,普通用户也希望能从注册表体现到软件DIY的乐趣。不过,高手毕竟是少数,绝大多数的用户用电脑还是把稳定性和安全性放在首位。所以呢,我们在本章将首先向大家介绍注册表的基本知识,然后介绍注册表修改方法,接下来讲注册表备份与恢复,然后教给大家注册表的高级应用,最后还给出了大量的注册表应用实例。显然,我们的目的,就是要在教给大家方法的同时,用实例来展现注册表精彩。相信大家能在了解注册表知识和应用和基础上,充分体验到注册表的神奇和软件DIY的乐趣。 值得一提的是,本章中的注册表应用实例不像有些专门介绍注册表的书那样,无论修改的实例对用户有没有实际用处均罗列出来,而是在目前已知的近千个注册表修改实例中精选出55个最有实用价值和最具趣味性的实例(本章第四节中提供了45个,第五节中提供了10个),其中包含到目前为止还没有公开的披露的、鲜为人知的20个系统优化高级应用实例,实际上已经涵盖了注册表修改中80%最精彩的内容,相信对95%以上的用户而言足够使用。 我们的目的只有一个:让大家花10%的时间,学到80%最实用、最有趣的注册表应用。 此外,本章所提供的注册表修改实例,均全部经过仔细验证,但由于对注册表的修改带有一定的危险性,因此大家在应用注册表修改实例之前,一定要先学会注册表的备份与恢复,以便在一个安全的环境下充分享受注册表修改给我们带来的乐趣。 1 系统注册表基本知识 1.1 什么是注册表 我们知道,在Windows 3.x中,系统是通过INI文件来登录硬件和初始化各种软件信息的,在那个时代,当我们的Windows出现问题时,一个电脑高手会肯定会从Config.sys、Autoexec.bat、System.ini、Win.ini和Protocol.ini这些系统配置文件中来查找问题的根源。但到了Windows 95,微软用注册表来统一管理软硬件配置,虽然上述的系统配置文件在Windows安装文件夹中还能找到,但它们里面的条目已经变得很少,因为微软将这些配置文件的重要内容基本上都转移到了注册表中。 因此,Widnows的注册表实际上是一个庞大的数据库,它包含了应用程序和系统软硬件的全部配置信息,初始化信息及其他重要数据。由于它采用树状结构和键值来定义各类软、硬件配置,因此它更易于维护和管理。 Windows的注册表主要由两部分组成;注册表数据库和注册表编辑器。注册表数据库包括System.dat和User.dat两个文件,System.dat用来保存计算机的系统信息,如计算机安装的硬件设备,设备驱动程序等等;User.dat用来保存每个用户特有的信息,如桌面设置、“开始”菜单选项等等。这两个文件一般会放在Windows的安装目录下。由于注册表中经常会受到不良或错误信息的侵害,所以微软为了防止注册表文件损坏后无法启动操作系统,在Windows安装完毕后,就对“干净”的系统做了两上备份文件System.da0和User.da0。同时,在Windows 98中还有一个专门用来储备注册表备份文件的文件夹Bak,如果我们的操作系统出现了故障,就会需要该文件夹中的注册表备份文件来帮你恢复系统。 注册表编辑器是用来对注册表进行编辑、修改和工具,在“开始”菜单选择“运行”,键入“Regedit”后回即可打开注册表编辑器,它采用树状目录结构来反应各项软、硬件信息。 注册表按层次结构组织(即树状结构),由项(也称键、关键字)、“子项(也称子键)”和“值项(也称键值)”组成。出现在左侧窗口中的都是主键和子键,出现在右侧窗口中的都是键值。 1、根键、主键与子键 在Windows系统中,注册表是采用“关键字”及其“键值”来描述登录项及其数据的。所有的关键字都是以“HKEY”作为前缀开头。在注册表中,关键字可以分为两类:一类是由系统定义的,一般都称为“预定义关键字”;另一类是由应用程序定义的,由于安装的应用软件不同,其关键字就各不相同。在注册表编辑左侧的窗口中,所有的数据都是通过一种树状结构,以根键、主键和子键的方式组织起来,和资源管理器内的目录结构基本一致。我们可以将注册表的层次结构按根键(即主关键字,如HKEY_CURRENT_USERS就是一个根键)、主键、子键、键值来划分。每个根键再由若干主键组成,键名代表一特定的注册项目。每个主键可以由若干个子键组成,子键下面还可以有子键(注意:主键、子键是相对而言的,一个注册项目对其上面的注册项目而言是子键,对其下面包含的项目而言是主键。因此,在注册表编辑器中,当我们在根键以下的层次中新增加一个注册项目,不管其处于什么位置,注册表编辑器都将其统一称之为“项”)。 每个主键都包含有一组特定的信息,而键和名称也与它所包含的信息直接相关,如Printers表示该主键下是有关打印机的设置。如果一个主键中包含子键,那么在注册表编辑器窗口的左边出现一个“”号,用来表示在这个文件夹内还有下一层的内容。我们以Windows 98的注册表为例,先看看系统预定义的六个根键: (1)HKEY_CLASSES_ROOT:基层类别键,定义了系统中所有已经注册的文件扩展名、文件类型、文件图标等。它是HKEY_LOCAL_MACHINESoftware的子项(2)HKEY_CURRENT_USER:包含当前登录用户的配置信息的根目录。用户文件夹、屏幕颜色和“控制面板”的设置都存储在这里。该信息被称为用户配置文件,它实际上是HKEY_USERS.Default下面的一部分内容。 (3)HKEY_LOCAL_MACHINE:该根键定义了本地计算机(相对网络环境而言)的全部软硬件信息,当系统的配置和设置发生变化时,其下面的主键均会发生改变。 (4)HKEY_USERS:包含计算机上所有用户的配置文件信息,其中部分分支将映射到HKEY_CURRENT_USER根键关中,它的大部分设置都可以通过控制面板来修改。 (5)HKEY_CURRENT_CONFIG:包含本地计算机在系统启动时所用的硬件配置文件信息,即定义了计算机的当前配置情况,如显示器、打印机等可选外部设备及其设置信息等。它实际上是HKEY_LOCAL_MACHINEConfig分支的中的一部分。 (6)HKEYDYNDATA:定义了系统运行中的动态数据,即已发生的事件的有关信息。它不仅包含系统硬件的当前状态,也包含了那些需要更新和检索的数据。系统每次启动时都要创建此关键字。注意:该分支仅在Windows 98注册表中存在,Windows NT/2000/XP注册表中无此根键。 注意:注册表编辑器的定位区域显示文件夹,每个文件夹表示本地计算机上的一个预定义的项。访问远程计算机的注册表时,只出现两个预定义项:HKEY_USERS 和 HKEY_LOCAL_MACHINE。 2、键值 注册表中的所有信息是以各种形式的“键值项数据”保存下来,键值项“ColorTable00”的数据为“REG_DWORD:0”。其中“REG_DWORD”是该键值的数据类型;“0”是代表该键值被赋予的数值。 在注册表中,“键值项数据”主要分为下面三种类型。 二进制(BINARY) 在注册表中,二进制是没有长度限制的,可以是任意字节的长度。在注册表编辑器中,二进制数据以十六进制的方式显示出来。 DWORD值(DWORD) DWORD值是一个32位(4个字节,即双字)长度的数值。在注册表编辑器中,系统以十六进制的方式显示DWORD值。在编辑DWORD数值时,可以选择用十进制或是十六进制的方式进行输入。 字符串值(SZ) 在注册表中,字符串值一般用来表示文件的描述、硬件的标识等。通常它由字母和数字组成。下图文本输入栏中的内容即为一个键值,它是一种字符串值类型。通过键值名、键值就可以组成一种键值项数据,这就相当于Win.ini、System.ini文件中小节下的设置行。其实,使用注册表编辑器将这些键值项数据导出后,其形式与.ini文件中的设置完全一样。 轻松玩转注册表(二) 1、项和键值的修改 。用鼠标双击欲修改的键值名称,如“ColorTable00”,在弹出的 “编辑DWORD值”对话框的“数值数据”中输入新的数据即可。如果我们欲修改的键值是二进制,那么双击该键值名称后,会弹出“编辑二进制数值”对话框,我们可以在二进制和十六进制之间进行切换。如果我们选择的键值是字符串值,那么就可以在弹出的“编辑字符串值”对话框中输入一段说明性的文字。比如我们在注册表编辑顺中依次展开HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersion,然后双击右侧窗口中的“PF_AccessoriesName”键值,将“附件”改为“其他工具”。如果要对该键值进行删除、修改二进制数据等操作,只需用鼠标右键单击该键值,然后在弹出的快捷菜单中选择相应的命令即可。 如果要对某个子键进行删除、重命名、导出等操作,用鼠标右键单击该子键或键值,然后在弹出的快捷菜单中选择相应的命令即可。 2、项和键值添加 如果想在某个主键下新建一个子键,只需展开该主键,如HKEY_CURRENT_USER,然后在右侧窗口空白处单击鼠标右键,在弹出的快捷菜单中选择“项”,在左侧的窗口中就会出现一个名为“新项 #1”的子键。然后按需要对其名称进行修改,在其下层建立键值。 如果想在某个主键下新建一个键值,只需展开该主键,如HKEY_CURRENT_USER,然后在右侧窗口空白处单击鼠标右键,在弹出的快捷菜单中选择“字符串值”、“DWORD值”、“二进制”等的任一种,在左侧的窗口中就会出现一个名为“新值 #1”的键值,然后按需要对其名称和数据进行修改即可。 3、内容的查找 很多时候,我们并不十分清楚我们所需要查找的内容在注册表中的具体位置,此时我们就要用到注册表编辑器的“查找”功能。在注册表编辑器的主界面上单击“编辑”菜单下的“查找”命令,。我们可以在“查找目标”后的输入框中键入要查找的内容的关键字,如“Update”,然后根据你所掌握的情况选中你所搜索的关键词是存在于“项”(所有主键和子键的名称)、“值”(所有键值的名称)还是“数据”(所有键值数据)中,以及是否要“全字匹配”(即所搜索的关键字是独立存在的,不是内嵌于其他内容之中)。设置完毕后单击右上角的“搜索下一个”按钮即可开始查找。以后按下F3键即可继续查找下一个匹配内容。 1.4 注册表内容的导出与引入 注册表是以二进制方式存储在硬盘上。我们在修改注册表的时候难免会引起一些问题,甚至是致命的故障,因此我们需要对注册表文件进行备份和恢复。此外,我们还可以将注册表中的某一主键或子键保存为文本文件,以便于我们研究注册表的结构。 1、导出注册表文件 如果导出注册表是为了做备份,那么可以注册表编辑器中先展开一个根键或者一个主键,然后单击注册表编辑器“文件”菜单下的“导出”命令,注册表编辑器会弹出所示的对话框,我们可以为保存的注册表文件命名,并且可以在对话框下方选择是保存“当前分支”还是“全部”注册表内容;还可以在“保存类型”中将注册表内容保存为文本文件或其他类型。 如果你是系统管理员,还可以某些主键或子键添加权限。比如为了让Windows的配置不受破坏,你可以选择HKEY_LOCAL_MACHINESOFTWAREMicrosoft下的Windows主键,然后单击“编辑”菜单下的“权限”命令,在弹出的的“Windows 的权限”对话框中,在名称中选择某一个用户,然后在“访问类型”下拉列表中选择赋予该用户的访问权力,分“完全控制”、“读取”、“特别的权限”(单击该界面下的“高级”按钮进行设置)三种,选择完毕后按“确定”按钮退出。 2、导入注册表文件 导入注册表文件有两种方法,一种是将现有的一个主键进行还原,就是利用以前备份的注册表文件或通过其他渠道获得的注册表文件,覆盖现有的主键。在注册表编辑器主界面中单击“文件”菜单下的“导入”命令,选中要还原的注册表文件单击“打开”按钮,程序会弹出一个“警告”对话框,问你是否进行覆盖现有主键的操作,单击“是”即可。 实际上,我们在Windows 源管理器找到后缀为REG的注册表文件后,用鼠标双击该文件,系统即会弹出一个对话框问你是否要将当前文件中的内容导入到注册表,单击“是”即可。轻松玩转注册表(三) 2 注册表的备份与恢复 2.1 Windows 9x注册表的备份与恢复 1、使用Scanreg备份/恢复注册表 有前面的章节中我们提到了过,Windows 9x在启动时会自动对注册表进行扫描,并将注册表及Win.ini、System.ini一起打包压缩为rb00?.cab文件,存放在C:Windowssysbckup目录下,如果发现文件有错误会自动进行修复。 注册表的备份与检查 Windows 9x中系统自带的注册表工具为Scanreg.exe(DOS下使用)和Scanregw.exe(Windows下使用)。在Windows 9x中单击“开始”、“运行”,在打开的对话框中输入“Scanreg”后回车,即可运行注册表扫描程序。注册表扫描程序会自动扫描注册表,并显示扫描结果。如果注册表有错误,它会提示你是否进行自动修复,如没有对注册表做备份它会自动恢复。如果注册表一切正常,但今天还未做备份的话,它也会提示你立即进行备份。 你也可以强制操作系统对当前的系统注册表进行一次备份,方法是在DOS提示符下键入“Scanreg/Backup”。 注册表的修复与恢复 当Windows 9x的注册表出现错误且操作系统不能自动修复时,Windows将无法正常启动(有关判断Windows 注册表是否遭到破坏的方法请见下一节)。此时我们可以在DOS下修复或恢复注册表。方法是: 在DOS提示符后键入Scanreg/Fix对注册表进行修复。这种方法可以排除由于操作系统自动启动时,通过初始化程序System.ini和Win.ini加载了错误的模块,或应用程序以及病毒破坏造成注册表修复失败的可能。 如果修复注册表仍然不能进入Windows,就必须使用进行DOS实模式恢复注册表。在DOS提示符后键入“Scanreg/restore”后,Scanreg会先检测系统注册表,然后将显示出系统的五个注册表备份文件,选择一个自己认为正确的注册表进行恢复即可(一般选择最新的注册表备份文件)。 用隐藏参数恢复注册表 如果你你操作系统下没有可供Scanreg恢复的备份怎么办?这就要用到Scanreg的隐藏参数了。在DOS提示符下键入“Scanreg/Opt”,待DOS提示符再次出现后键入“Exit”,然后重新启动计算机,Windows 是不是恢复正常了? 能进入了)吧,它也能保你重新恢复系统。需要提醒你的是,你必须进入存放Scanreg命令的目录才能有效操作,其默认目录是C:Windowscommand.怎么样,是不是特简单,但千万别忘了它可是只伺候98的哟! 2、用System.1st恢复注册表 如果用完了上述的“招数”仍然不能让Windows 9x正常启动,那我们就只好祭出最后的法宝:System.1st文件了。该文件是Windows 9x系统在第一次正常运行后系统保存在系统启动盘的根目录上的,虽然里面不包含操作系统后安装的应用程序等信息,但如果你急于使用Windows 9x的话,用它可以将操作系统恢复到最佳状态: 在DOS提示符下键入: Attrib h r s C:System.1st(C为系统启动盘盘符) Atrrib h r s C:WindowsSystem.dat(C:Windows指Windows 9x安装目录) Copy C:System.ist C:Windows System.dat/Y Attrib +h +r +s C:System.1st Atrrib +h +r +s C:WindowsSystem.dat 然后重新计算机修改即生效。3、用Regedit备份/恢复注册表 在前面对注册表编辑器的基本操作介绍中我们了解到,注册表编辑器可以将注册表中的内容导出到一个文件,也可以从注册表文件中将注册表内容导入。因此,如果我们能够进入Windows ,但发现计算机不稳定,就可以用注册表编辑器事先备份注册表文件来恢复注册表。其方法请见本章第一节的第三个部分:注册表内容的导出与引入。 这里要教给大家的是另外一招:在DOS下用注册表编辑器来恢复系统注册表。方法是: 用软盘引导计算机或是进入Windows 9xDOS实模式后,进入Windows 安装目录,如C:windows,然后在DOS提示符后面键入“regedit/C *.reg”,其中*.reg为事先备份的注册表文件名,恢复完毕后重新启动计算机即使新的注册表生效。 注意:用这种方法来恢复注册表时,恢复的速度非常慢,因此轻易不要使用这种方法。在恢复的过程中不要半途中止,否则的话很可能会破坏当前的注册文件,导致计算机无法启动。 轻松玩转注册表(四) 2.2 Windows 2000/XP注册表的恢复 Windows 2000/XP的注册表也分为两个部分,但是包括多个文件。其中,用户配置文件保存在根目录“Documents and Settings”下的用户名的目录中,包括Ntuser.dat和Ntuser.ini两个隐藏文件及Ntuser.log日志文件。系统配置文件位于Windows 2000/XP安装目录下的“System32Config”中,包括Default、Software、System、Appevent.evt、Secevent.evt、Sysevent.evt等多个隐藏文件及其相应的log文件和.sav文件。这些注册表文件在Windows 2000/XP运行时无法使用其他工具打开,这一点和Windows 9x用System.dat及User.dat有很大的不同。 1、Windows 2000/XP注册表的常规备份与恢复 以Windows XP为例,备份的方法是: 在“运行”框中输入“Regedit”打开注册表编辑器,然后选择“文件”下的“导出”命令,选择导出的范围为“全部”,然后输入用于备份的注册表文件名称及路径(最好起一个非常容易记住的名字和易于查找的路径,以便日后恢复,如保存为D:Windows2000.reg或D:=Windowsxp.reg)。需要恢复注册表时,进入注册表编辑器,单击“文件”菜单下的“导入”命令,再选择相应的备份文件即可。当然,我们也可以仅保存注册表中的某些重要分支,在注册表编辑器中选中该主键后,在用“文件”菜单下“导出”命令导出为文件时,选择导出的范围为“当前分支”即可。 由于Windows 2000/XP是多用户操作系统,因此在保存某些主键或子键时,如果你没有用系统管理员(Administrator)的身份登录,或是某主键或子键正在被系统使用,系统就会弹出禁止“权限不足、无法保存项”等提示。此时你可以用系统管理员的身份选择“编辑”菜单下的“权限”命令,对这些主键或子键的用户赋予“完全控制”的权限,然后再进行保存。 2、用“最后一次正确配置”还原Windows 2000/XP注册表 虽然Windows 2000/XP非常强健,极少出现系统崩溃等问题,但有时候也会出现无法正常正常启动的情况。此时不要惊慌,因为微软早为我们准备好了恢复的妙方“最后一次正确的配置”。 启动计算机后待出现“正在启动Windows 2000/XP”的信息后,或是在多重启动菜单中选择Windows 2000/XP后,按下F8键进入高级选择配置,此时你会发现Windows 2000/XP高级选项菜单中包含了众多的启动方式,其中有一项名为“最后一次正确配置”,它指的就是你最近一次正常启动操作系统时系统自动保存的配置,还犹豫什么,就选择它吧!按下回车键之后十之八九你的操作系统就恢复了正常! 2.3 恢复Windows 9x注册表的另类绝招 有些时候,我们可以利用光盘中自带的实用程序紧急恢复注册表。在Windows 9x安装光盘的Othermisceru目录下,提供了Eru.exe和Erd.exe两个工具,这两个工具是为那些高级系统管理员准备的,直接运行它们,向导就会一步一步地教你怎样来恢复注册。 此外,在Windows 98安装光盘的Othermisccfgback目录下,还有一个非常实用的注册表恢复工具Cfgback.exe。将Cfgback.exe拷贝到Windows 9x安装目录中,再将Cfgback.hlp文件拷贝到Windows9x安装目录的Help文件夹中,然后运行Cfgback.exe,即可恢复注册表及系统文件。 2.4注册表损坏的六大症状 虽然我们在前面详细讲述了系统注册表的知识、备份及恢复的方法,但可能还是有很多朋友要问:难道只有等系统无法启动才需要恢复注册表吗?如果不是,我该在计算机出现什么样的症状时决定恢复注册表?下面我们给出的就是系统注册表受到损坏的表现症状,大家可以对照一下:如果出现了下列的症状,而不能正常启动系统或运行应用程序的情况经常出现,那么注册表损坏一般存在哪些症状呢? 1、在运行过去一直使用正常的应用程序时,得到诸如“找不到*.dll”、“找不到服务器上的嵌入对象”或“找不到OLE控件”这样的错误提示,即表明该应用程序的完整性遭到破坏,或是应用程序在注册表中的相关注册信息被破坏。试着重新安装该应用程序,如果仍然出现问题,你就需要恢复注册表了; 2、当们在Windows中单击某个已知扩展名的文档时,如果Windows打不开该文档,而且给出给出“找不到对应的应用程序打开这种类型的文档”之类的信息,那么应该重新安装与该类型文档关联的应用程序(如ZIP文件对应的应用程序是WinZip),然后再检查一下该文档是否损坏(用一个有同样扩展有文档验证),如果文件没有损坏但仍然无法打开,那么你应该恢复注册表; 3、在“资源管理器”中发现一些奇怪的现象,如没有图标的文件夹、文件,与文件扩展名无法匹配的图标(比如文本文件的图标变成了一台计算机形状的可执行文件图标)。 4、“开始”菜单、“控制面板”等一些项目丢失或是变成灰色的不可用状态(如“系统”图标属性页无法打开,“网络”图标不见了等等),但你并没有对系统进行修改(很多注册表修改工具可以禁用系统的一些项目); 5、一直以来运转正常的硬件设备突然无法使用,在“设备管理器”的列表中也无法正确安装或卸载; 6、Windows无法正常启动,或是仅能以安全模式,或是启动后进入Windows 后总是提示你某些文件丢失,或是系统直接提示你“出现XXXX错误,系统注册表可能已损坏”; 以上就是判断注册表是否损坏的六大症状。如果出现了上述症状的一种或数种,最好的修复办法就是恢复注册表。 注意:很多朋友遇到过一种看上去很像注册表故障,但实际上是硬件故障的现象:启动计算机后,系统自动调用注册表扫描工具对注册表文件进行检查,并提示你当前注册表已损坏,将用注册表的备份文件进行修复,然后要求你重新启动计算机。一般而言,上述过程往往要重复数次才能进入系统。出现这种故障并不是注册表本身的原因,而是硬件问题:内存条工作不稳定;硬盘出现坏道是造成这种“故障”的主要原因,你应该先从这两个方面入手解决问题。轻松玩转注册表(五) 3 注册表高级应用用REG文件发布注册表修改成果 在前面的章节中我们多次提到,我们可以将注册表的全部或部分内容导出为REG文件。REG文件实际上是一种注册表脚本文件,它可以直接将文件中的内容导入到注册表中,不会受到注册表编辑器被禁用等的影响。此外,REG文件可以用任何文本文件编辑器(如记事本)进行修改,因此,具备很高的安全性:我们可以用重复输入的方法来用正确的注册表数据覆盖以前输入的错误内容。事实上,我们在安装应用程序时基本上都能发现REG文件,它里面包括的就是应用程序的注册信息。 对于普通用户来说,掌握REG文件也大有用处,比如我们可以将自己对注册表修改的成果导出为REG文件,然后将它应用于自己使用的每台电脑中,或是拿出去与亲朋好友一起分享。下面我们一起 掌握REG文件的创建与使用方法。 3.1 REG文件的创建 REG文件的创建非常简单的,我们可以用注册表编辑器“文件”菜单下的“导出”命令来生成一个REG文件。也可以直接用文本文件编辑工具写入相应的内容,然后在保存时选择将该文件的保存格式为“所有文件”,文件名为“*.reg”。 比如我们创建一个为Windows XP加载自启动程序的名为run.reg的注册表文件,就可以打开记事本,然后输入(本例中包含的自启动程序为Norton反病毒软件与著名的显示调整软件PowerStrip): REGEDIT4 HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun vptray=c:Program FilesNavNTvptray.exe PowerStrip=d:program filespowerstrippstrip.exe 选择此文件的“保存类型”为“所有文件”,然后在“文件名”中输入“Run.reg”。以后你就可以在安装了这两个应用程序的计算机中直接双击该REG文件将内容导入注册表(注意:例中两个应用程序的主程序路径应根据实际情况确定)。 3.2 REG文件的修改 对REG文件的修改就涉及到REG文件的格式问题,只有正确的格式才能被注册表所识别。要了解REG文件格式最简单的办法,就是用注册表编辑器的导出功能新建一个REG文件,然后用记事本打开它,将其中的内容与注册表中的内容一一对应,有兴趣的朋友不妨自己试一试,下面给出常用的主键和键值的格式与修改方法。 1、主键的添加与删除 须要写清楚主键及其上层主键所在的所有层次,并用“ ”将这些内容括起来。如:我们要在HKEY_LOCAL_MACHINESoftware主键下添加一个名为“晨风工作室”的主键,在REG文件中应该这样描述: REGEDIT4 HKEY_LOCAL_MACHINESoftware晨风工作室 注意:最上面的一行“REGEDIT4”的作用是表明该文件的类型的版本,它与下面的内容之间应该有一个空行。REGEDIT4适用于所有的Windows操作系统。但在Windows 2000/XP中,我们也可以使用“Windows Registry Editor Version 5.00”格式。 删除主键和添加主键的格式一样,不同的是这次要在用“ ”括起来的主键路径前面加上“-”号。注意:删除主键的同时会将该主键下所有的内容都删除。因此使用时应十分注意。以删除名为“晨风工作室”的主键为例: REGEDIT4 -HKEY_LOCAL_MACHINESoftware晨风工作室 2、键值的添加与删除 添加键值 该操作如同注册表编辑器中的“新建”命令。由于键值共有三种类型,因此在REG文件中,我们要为添加的键值确定数据类型,其格式如下: 添加字符串值,则“=”号后边的内容应添加英文双引号; 添加DWORD值,“=”号后边的格式为“dword:数据”; 添加二进制值,“=”号后边的格式为“hex:数据”。 此外,我们还可用在“=”号前边加“”符号的方法来设置默认键值(即在注册表编辑器经常看见的名为(默认)的键值。 比如我们要在“HKEY_LOCAL_MACHINESoftware晨风工作室”主键下设置默认键值为“晨风工作室”,并分别添加“地址(以上均为字符串值)”、“成员数(二进制值)”、“成员是否在同一座城市(DWORD值)”,则REG文件的内容应如下所示: REGEDIT4 HKEY_LOCAL_MACHINESoftware晨风工作室 =晨风工作室 地址=北京海淀(100038) 成员数=hex:7 成员是否在同一座城市=dword:00000000 在添加键值项目时,如果该键值所在的主键路径不存在的话,在添加键值项目的同时会自动新建该主键。 注意:很多细心的朋友可能已注意到,在“REG文件的创建”中,我们举的例子如下: REGEDIT4 HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRunvptray=c:Program FilesNavNTvptray.exe PowerStrip=d:program filespowerstrippstrip.exe 为什么我们不写作“PowerStrip=d:program filespowerstrippstrip.exe呢?原因也很简单:为了与注册表中表示主键的方法区分开来,因为“”注册表文件中表示的是主键路径。 修改键值 在前面我们提到过,我们可以用重复输入的方法来用正确的注册表数据覆盖以前输入的错误内容。因此,键值的修改实际上就是对对需要修改内容的键值重新设置,然后将它添加到注册表中即可。 删除键值:用REG文件删除键值的方法和删除主键非常类似,不同的是需要在“=”的后面加上“-”号,如:PowerStrip=-d:program filespowerstrippstrip.exe 3.3 REG文件的合并 用鼠标双击一个REG文件时,系统即会弹出“确实要把XXX.REG内的信息添加到注册表吗?”的对话框,单击“是”即可将REG文件中的内容导入注册表,导入完毕后系统会提示“XXX.REG中的信息已经成功输入注册表”,我们把这REG文件中的信息导入注册表的操作称为“合并”。 果你经常遇到来路不明的REG文件,怕它们会对你的注册表赞成破坏,那么不妨将用鼠标双击REG文件时的默认操作改为“编辑”,方法是: 打开资源管理器,单击“查看”菜单中的“文件夹选项”命令,在打开的对话框中单击“文件类型”标签,然后在“已注册的文件类型”列表中选择“注册表项”,再从下面的“打开方式”窗口中的“高级”按钮,在弹出的对话框中“操作”窗口中选择“edit”,然后再单击右侧的“设为默认值”按钮即可。 在这里笔者顺便告诉大家一个独门绝技,如果你希望REG文件在导入时没有任何提示,你可以在图4所示的对话框中选中“合并”,然后单击“编辑”按钮,在弹出对话框的命令行中输入“regedit.exe /s %1”即可,这是使用了注册表编辑器Regedit的一个被称为安静导入模式的隐藏参数“/S”,在导入REG文件时如果加上“/S”参数,系统就不会再弹出任何提示对话框而直接导入了。轻松玩转注册表(六) 4 注册表高级修改46例 看完上面三节的内容后,你对注册表已经有了较多的了解,下面我们就该动手进行对注册表进行修改了。在修改之前,还是要请大家再温习一下本章第二节的内容,并按以下步骤修改注册表: 1、完全备份注册表。原因就不用多说了吧?再高的高手也有失手的时候呀; 2、对注册表的改动宜“少吃多餐”,即每次做的修改不宜过多,因为对注册表的内容修改重新启动计算机后会全部生效,如果出现了问题,你可就再也想不起来是哪个修改惹的祸了; 3、不要轻易从注册表中删除主键或键值,除非你很有把握,但在删除之前还是应该备份注册表。 好,下面我们就看看注册表修改的最实用、最有趣的30个实例(注意:在Windows中,有很多涉及到注册表的修改,其实完全可以利用“控制面板”中的相关工具来实现,对这类修改我们在本书的第一章中举了大量的实例,在此将不再重复讲述这些设置在注册表中的修改,毕竟通过Windows对话框来修改设置要安全得多,也直观的多)。以下的实例均以对Windows XP的注册表操作为准,除非特别申明,否则该实例Windows 9x/2000XP中均适用,但有可能在注册表中所处的位置不一样,大家可以在注册表中用“查找”命令来直接定位。 .4.1系统优化与设置 1、为IRQ中断请求排优先次序 计算机的每一个主要部件都有对应的IRQ中断号,我们可以通过修改每个IRQ中断号的优先次序,来达到优化中断号对应的部件的目的。我们以优化系统CMOS实时钟为例,它通过主板来提升性能。 打开“控制面板”里的“系统”属性对话框,选中“硬件”选项卡,然后单击“设备管理器”按钮打开“设备管理器”。单击“系统设备”前的“+”号展开其下的分支,双击“System CMOS/real time clock”,会打开System CMOS/real time clock属性”对话框,选择“资源”选项,我们可以看到在“资源设置”下给出的“中断请求”是“08”。 现在打开注册表编辑器,展开HKEY_LOCAL_MACHINESystemCurrentControlSetControlPriorityControl分支,在右侧窗口中新建一个名为“IRQ8Priority”(其中“8”指的就是具体的IRQ中断号,该数值根据你优化部件不同而不同)的DWORD值,然后将其值设为1。 重新启动计算机之后,则才所做的修改就会生效。你也可以用这个方法将需要优化的部件IRQ中断号优先级提高,不过如果你选择的部件过多,优化的效果就会不明显,而且很可能会出现问题。 2、禁用内存页面调度(Paging Executive) 在通常情况下,Windows XP用自动启用“内存页面调度”功能,将内存中的片段写入硬盘,这样做的好处是可以随时清空内存中的碎片,有利于应用程序的运行。不过,如果你的系统内存大于256MB的话,完全可以不必这么做,让数据保留在内存中的读写速度当然要远远超过和硬盘交换数据,因此你可以屏蔽内存页面调度功能,从而提升系统性能。 进入HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerMemory Management分支,将右侧窗口中名为“DisablePagingExecutive”的DWORD值改为1,即禁止了内存页面调度。 3、极速提升系统运行速度 Windows XP对内存的需求量非常大,但大内存对Windows XP性能提升的作用也非常明显。假如你有256MB或以上的内存,你就可以为系统设置更大的文件缓存,使得Windows XP的内核能够在内存中运行,从而极大地提高系统速度。修改方法是: 展开HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerMemory Management分支,在右侧窗口下的“LargeSystemCache”的键值由默认的0改为1。这样,Windows XP就会把除了4MB基本内存(主要用做磁盘缓存,在进行大量文件读写或需要进大的磁盘缓存时,Windows XP会自动调整)外的系统内存全部分配给文件系统缓存。 注意:这项优化会使系统性能得到相当的提升,但也有可能会使某些应用程序性能降低。如果你感觉修改之后系统性能降低了,可以再将此设置修改回来。该项修改必须在重新启动计算机后才会生效。 4. 预读设置提高运行速度 Windows XP采用了“预读设置”这一新技术以提高系统运行速度。你可以对应用程序、启动均进行“预读设置”,这样系统的运行速度能提高很多,不过,前提是你要有一台速度够快的计算机:CPU不低于P 800,系统内存不少于512MB。 展开HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerMemory ManagementPrefetchParameters分支,在右侧窗口中将“EnablePrefetcher”键值设置为3。该键值可赋予的值包括0、1、2、3。0表示不进行任何预读设置,1表示进行应用程序进行预读,2表示进行启动预读,3表示对应用程序和启动均进行预读。重新启动计算机后该项修改生效,系统启动的时间将会明显减少。 5、延长Windows 终止服务时间 很多朋友遇到过这样的问题:安装完某个应用程序后,它提示你必须重新启动计算机,并问你“是否立即重新启动计算机”。当你单击“是”以后才发现大事不妙:你先前所做的工作还没有完全保存!但是已经来不及了,系统已经重新启动了,怎么办?还是让Windows对我们宽容一些吧,给我们一个足够长的时间让我们来得及保存重要的数据:展开HKEY_CURRENT_USERControlPanelDesktop,在右侧窗口中选择“WaitToKillServiceTimeout”(如果没有该键值可以新建一个名为“WaitToKillServiceTimeout”的字符串值),默认情况下该键值被设置为0,也就是说不做任何等待,你可以将它改为你希望系统留给你的反应时间,以毫秒为单位,设置为20000,即表示让Windows等待20秒。一般我们留下10秒钟的反应时间就足够了。 6、快速给出出错信息 在Windows中,因为种种不可预知的原因,应用程序或进程会突然失去响应,呈现锁死状态。当我们试图调用该应用程序或进程时,系统会慢悠悠地给出一个对话框,告诉我们该应用程序已停止响应。如果你嫌系统的反应速度太慢,可以让它快一些: 展开HKEY_CURRENT_USERControlPanelDesktop,在右侧窗口中选择“HungAppTimeout”(如果没有该键值可以新建一个名为“HungAppTimeout”的字符串值),默认情况下该键值被设置为5000,也就是说等待5秒再做反应,你可以将它设置为200,即等待0.2秒即做出反应。 7、缩短“关闭无响应程序”的等待时间 在Windows中,因为种种不可预知的原因,应用程序或进程会突然失去响应,呈现锁死状态。当我们试图强行关闭该应用程序或进程时,系统会弹出一个对话框提示用户,该应用程序或进行已停止响应,此时我们可以选择强行关闭应用程序或进程,或是等待一段时间让Windows处理该程序退出前的工作,我们可以自己定义这个等待时间: 展开HKEY_CURRENT_USERControlPanelDesktop,在右侧窗口中选择“WaitToKillAppTimeout”(如果没有该键值可以新建一个名为“WaitToKillAppTimeout”的字符串值),默认情况下该键值被设置为20000,我们可以将它设置为5000,即等待5秒钟让Windows处理应用程序或进程。 8、让系统自动关闭停止响应的程序 当我们进行关机、重新启动计算机等操作时,经常会遇到系统提示“XXX应用程序还在运行,请先关闭所有程序,然后退出Windows”,这说明由于该应用程序处于锁死状态致使系统无法正确完成关机或重新启动计算机的操作。一般我们可以通过按下Ctrl+Alt+Del组合键来调出“Windows任务管理器”将该程序的进程强行关闭,但实际上,操作系统能自行中止已锁死的程序,只要我们给操作系统一个权限: 展开HKEY_CURRENT_USERControl PanelDesktop分支,在右侧的窗口中将“AutoEndTasks”的键值由0改为1即可。 9、让分级菜单显示速度像闪电一样快 当我们在Windows中使用分级菜单时(如在“开始”菜单中将鼠标指向“附件”,再指向“系统工具”),系统总是要停顿一下再显示下一级的菜单,而不是立即显示,其实我们有办法让分级菜单的显示速度像闪电一样快:展开HKEY_CURRENT_USERControlPanelDesktop分支,在右侧的窗口中选择“MenuShowDelay”其默认值为400,我们可以将其改成更小的数值,比如100。 10、让Windows自动从内存卸载DLL文件 Windows下的绝大多数应用程序在运行的时候会调用DLL(动态链接库)文件,Windows通常都会将这些DLL文件调入内存以加速应用程序的运行。但是,在默认情况下,当我们关闭应用程序时,Windows不会主动将这些DLL文件从内存中卸载,如果你开启的应用程序较多,系统性能就会迅速降低。我们可以通过打开注册表中相应的键值,让Windows 在应用程序关闭后就主动将与其相关的DLL文件卸载: 展开HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentversionExplorer分支,在其下新建一个子键,名为“AlwaysUnloadDll”,然后选中该子键,双击窗口右侧的“默认”键值,将该键值设为1,重新启动计算机后设置即生效。轻松玩转注册表(七) 11、删除无用的.dll文件 我们都知道,在频繁地安装和卸载应用程序之后,总有些应用程序会在系统的System子目录下留下一些无用的.dll文件(不被任何系统和任何应用程序使用),它们不仅占用了磁盘空间,而且增加了系统的负担。但由于大多数的.dll可能被两个或更多个系统和应用程序共享,因此我们无从判断System子目录下庞大的.dll文件哪些是无用的。没关系,在注册表中我们可以看到它们的“庐山真面目”: 开HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentversionSharedDlls主键,在右边的窗口中,我们会发现每个值项的数据都不尽相同,有些.dll文件只被一个应用程序使用,而有些.dll则被多达6个应用程序共享。查找那些数值为零的.dll文件吧,它不被系统和任何应用程序使用,显然是无用的,删除这些键值吧,同时不要忘记将System子目录下的文件本身也删除。 12、修改磁盘缓存加速Windows XP 磁盘缓存对Windows XP的运行速度起着至关重要的作用,但是在默认情况下,Windows

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论