《注册表编辑器的作用》由会员分享,可在线阅读,更多相关《注册表编辑器的作用(7页珍藏版)》请在金锄头文库上搜索。
1、注册表编辑器的作用注册表编辑器的作用 2008-03-25 22:18 从 Windows 95开始,Microsoft 在 Windows中引入了注册表(英文为REGISTRY)的概念(实际上原来在 Windows NT中已有此概念)。注册表是Windows 95及 Windows 98的核心数据库,表中存放着各种参数,直接控制着Windows的启动、硬件驱动程序的装载以及一些 Windows应用程序运行的正常与否,如果该注册表由于某种原因受到了破坏,轻者使 Windows的启动过程出现异常,重者可能会导致整个 Windows系统的完全瘫痪。因此正确地认识、修改、及时地备份以及有问题时恢复注
2、册表,对 Windows用户来说就显得非常重要了。 一、注册表的结构划分及相互关系 WINDOWS的注册表有六大根键,相当于一个硬盘被分成了六个分区。 在“运行”对话框中输入 RegEdit,然后单击“确定”按钮,则可以运行注册表编辑器。 Windows 98中文版的注册表 Registry(System.dat、User.dat、Config.pol)的数据组织结构。 注册表的根键共六个。这些根键都是大写的,并以 HKEY_为前缀;这种命令约定是以 Win32 API的 Registry函数的关键字的符号变量为基础的。 虽然在注册表中,六个根键看上去处于一种并列的地位,彼此毫无关系。但事实上
3、,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_MACHINESOFTWAREClasses 就是 HKEY_CLASSES_
4、ROOT,为了用户便于查看和编辑,系统专门把它作为一个根键。同理,HKEY_CURRENT_CONFIGSY-STEMCurrent Control就是HKEY_LOCAL_MACHINESYSTEMCurrent Control。 HKEY_USERS中保存了默认用户和当前登录用户的用户信息。HKEY_CURRENT_USER中保存了当前登录用户的用户信息。 HKEY_DYN_DATA保存了系统运行时的动态数据,它反映出系统的当前状态,在每次运行时都是不一样的,即便是在同一台机器上。 根据上面的分析,注册表中的信息可以分为 HKEY_LOCAL_MACHINE和HKEY_USERS两大类,这
5、两大类的详细内容请看后面的介绍。 二、六大根键的作用 在注册表中,所有的数据都是通过一种树状结构以键和子键的方式组织起来,十分类似于目录结构。每个键都包含了一组特定的信息,每个键的键名都是 和它所包含的信息相关的。如果这个键包含子键,则在注册表编辑器窗口中代表这个键的文件夹的左边将有“”符号,以表示在这个文件夹中有更多的内容。如果这个文件夹被用户打开了,那么这个“”就会变成“”。 1.HKEY_USERS 该根键保存了存放在本地计算机口令列表中的用户标识和密码列表。每个用户的预配置信息都存储在 HKEY_USERS根键中。HKEY_USERS 是远程计算机中访问的根键之一。 2.HKEY_CU
6、RRENT_USER 该根键包含本地工作站中存放的当前登录的用户信息,包括用户登录用户名和暂存的密码(注:此密码在输入时是隐藏的)。用户登录 Windows 98时,其信息从HKEY_USERS中相应的项拷贝到 HKEY_CURRENT_USER中。 3.HKEY_CURRENT_CONFIG 该根键存放着定义当前用户桌面配置(如显示器等)的数据,最后使用的文档列表(MRU)和其他有关当前用户的 Windows 98中文版的安装的信息。图 5为HKEY_CURRENT_CONFIG子关键字之间的连接情况。 4.HKEY_CLASSES_ROOT 根据在 Windows 98中文版中安装的应用程
7、序的扩展名,该根键指明其文件类型的名称。 在第一次安装 Windows 98中文版时,RTF(Rich Text format)文件与写字板(WordPad)&127;联系起来,但在以后安装了中文 Word 6.0后,双击一个 RTF文件时,将自动激活 Word。存放在 SYSTEM.DAT中的 HKEY_CLASSES_ROOT,将替代WIN.INI文件中的Extensions&127;小节中的设置项,它把应用程序与文件扩展名联系起来,它也替代了 Windows 3.x中的 Reg.dat文件中的相似的设置项。 5.HKEY_LOCAL_MACHINE 该根键存放本地计算机硬件数据,此根键下
8、的子关键字包括在 SYSTEM.DAT中,用来提供 HKEY_LOCAL_MACHINE所需的信息,或者在远程计算机中可访问的一组键中。 该根键中的许多子键与 System.ini文件中设置项类似。图 7显示了HKEY_LOCAL_MACHINE根键下的各个子键之间的情况。 6.HKEY_DYN_DATA 该根键存放了系统在运行时动态数据,此数据在每次显示时都是变化的,因此,此根键下的信息没有放在注册表中。图 8显示了 HKEY_DYN_DATA根键下的各个子键的情况。 三、注册表部分重要内容 注册表是一个大型数据库 Registry。要详细地分析该数据库,不是一两页就能介绍完。我曾经用了半年
9、多时间分析此数据库结构。下面只介绍部分重要内容。(一)HKEY_CLASS_ROOT 1.HKEY_CLASS_ROOT/Paint.Pricture/DefaultIcon双击窗口右侧的默认字符串,在打开的对话框中删除原来的“键值”,输入%1。重新启动后,在“我的电脑”中打开 Windows目录,选择“大图标”,然后你看到的 Bmp文件的图标再也不是千篇一律的 MSPAINT图标了,而是每个 Bmp文件的略图(前提是未安装ACDSee等看图软件)。 (二)HKEY_CURRENT_USER 1.HKEY_CURRENT_USERControl PanelDesktop 中新建串值名MenuS
10、howDelay=0 可使“开始”菜单中子菜单的弹出速度提高。 2.在 HKEY_CURRENT_USERControl PanelDeskt-opWindowsMeterics中新建串值名 MinAnimate,值为 1启动动画效果开关窗口,值为 0取消动画效果。 (三) HKEY_LOCAL_MACHINE 1.HKEY_LOCAL_MACHINEsoftwaremicrosoftwindowscurrentVersionexploreruser shell folders 保存个人文件夹、收藏夹的路径。 2.HKEY_LOCAL_MACHINEsystemcurrentControl-S
11、etcontrolkeyboard Layouts 保存键盘使用的语言以及各种中文输入法。 3.HKEY_LOCAL_MACHINEsoftwaremicrosoftwindowscurrentVersionuninstall 保存已安装的 Windows应用程序卸载信息。 4.HKEY_LOCAL_MACHINEsystemCurrentControl-Setservicesclass 保存控制面板-增添硬件设备-设备类型目录。 5.HKEY_LOCAL_MACHINEsystemCurrent-ControlSetcontrolupdate 设置刷新方式。值为 00设置为自动刷新,01 设
12、置为手工刷新在资源管理器中按 F5。6.HKEY_LOCAL_MACHINEsoftwaremicrosoftwin-dowscurrentVersionrun 保存由控制面板设定的计算机启动时运行程序的名称,其图标显示在任务条右边。在“启动”文件夹程序运行时图标也在任务条右边。 7.HKEY_LOCAL_MACHINEsoftwaremicrosoftwindowscurrentVersionPoliciesRatings 保存 IE4.0中文版“安全”“分级审查”中设置的口令(数据加密),若遗忘了口令,删除 Ratings 中的数据即可解决问题。 8.HKEY_LOCAL_MACHINEs
13、oftwaremicrosoftwindowscurrentVersionexplorerdesktopnameSpace 保存桌面中特殊的图标,如回收站、收件箱、MS Network等。 (四) HKEY_USERS 1.HKEY_USERS.Defaultsoftwaremicrosoftinternet explorertypeURLs保存 IE4.0浏览器地址栏中输入的 URL地址列表信息。清除文档菜单时将被清空。 2.HKEY_USERS.Defaultso.mi.wi.current-Versionex.menuOrderstartMenu保留程序菜单排序信息。 3.HKEY_US
14、ERS.Defaultso.microsoftwindowscurrent-VersionexplorerRunMRU保存“开始 运行.”中运行的程序列表信息。清除文档菜单时将被清空。 4.HKEY_USERS.Defaultso.microsoftwindowscurrent-VersionexplorerRecentDocs 保存最近使用的十五个文档的快捷方式(删除掉可解决文档名称重复的毛病),清除文档菜单时将被清空。 5.HKEY_USERS.defaultsoftwaremicrosoftwindowscurrentVersionapplets 保存 Windows应用程序的记录数据。
15、 6.HKEY_USERS.defaultsoftwaremicrosoftwindowscurrentVersionrun保存由用户设定的计算机启动时运行程序的名称,其图标显示在任务条右侧。 注册表通过键和子键来管理各种信息。但是,注册表中的所有信息是以各种形式的键值项数据保存下来。在注册表编辑器右窗格中,保存的都是键值项数据。这些键值项数据可分为如下三种类型: 1.字符串值 在注册表中,字符串值一般用来表示文件的描述、硬件的标识等。通常它由字母和数字组成,最大长度不能超过 255个字符。在图 9所示中,“D:pwin98trident”即为键值名“a”的键值,它是一种字符串值类型的。同样地
16、,“ba”也为键值名“MRUList”的键值。通过键值名、键值就可以组成一种键值项数据,这就相当于 Win.ini、Ssyt-em.ini 文件中小节下的设置行。其实,使用注册表编辑器将这些键值项数据导出后,其形式与 INI文件中的设置行完全相同。 2.二进制值 在注册表中,二进制值是没有长度限制的,可以是任意个字节长。在注册表编辑器中,二进制以十六进制的方式显示出来,如图 10所示。 在图 10中,键值名 Wizard的键值“80 00 00 00”就是一个二进制。在如图 11所示的“编辑二进制值”对话框时,在编辑框的左边输入十六进制数时,其右边将会显示相应的 ASCII码。 3.DWORD值 DWORD值是一个 32位(4 个字节,即双字)长度的数值。在注册表编辑器中,您将发现系统会以十六进制的方式显示 DWORD值,如图 12所示。