分类：电脑/网络-操作系统/系统故障
问题：註?藻l是?质裁从玫模?我真不明白，不是開玩笑，?聽人說，就是不 
我真不明白，不是開玩笑，?聽人說，就是不知道。
回答：从Windows 95开始，Microsoft在Windows中引入了注册表（英文为REGISTRY）的概念（实际上原来在Windows NT中已有此概念）。注册表是Windows 95及Windows 98的核心，表中存放着各种参数，直接控制着Windows的启动、硬件驱动程序的装载以及一些Windows应用程序运行的正常与否，如果该注册表由于鞭种原因受到了破坏，轻者使Windows的启动过程出现异常，重者可能会导致整个Windows系统的完全瘫痪。因此正确地认识、修改、及时地备份以及有问题时恢复注册表，对Windows用户来说就显得非常重要了。 一、注册表的结构划分及相互关系  WINDOWS的注册表有六大根键，相当于一个硬盘被分成了六个分区。  在“运行”对话框中输入RegEdit，然后单击“确定”按钮，则可以运行注册表编辑器。   Windows 98中文版的注册表Registry(System.dat、User.dat、Config.pol)的数据组织结构。  注册表的根键共六个。这些根键都是大写的,并以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两大类，这两大类的详细内容请看后面的介绍。 二、六大根键的作用  在注册表中，所有的数据都是通过一种树状结构以键和子键的方式组织起来，十分类似于目录结构。每个键都包含了一组特定的信息，每个键的键名都是 和它所包含的信息相关的。如果这个键包含子键，则在注册表编辑器窗口中代表这个键的文件夹的左边将有“＋”符号，以表示在这个文件夹中有更多的内容。如果这个文件夹被用户打开了，那么这个“＋”就会变成“－”。   1.HKEY_USERS  该根键保存了存放在本地计算机口令列表中的用户标识和密码列表。每个用户的预配置信息都存储在HKEY_USERS根键中。HKEY_USERS是远程计算机中访问的根键之一。   2.HKEY_CURRENT_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中文版中安装的应用程序的扩展名,该根键指明其文件类型的名称。  在第一次安装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  该根键存放本地计算机硬件数据,此根键下的子关键字包括在SYSTEM.DAT中,用来提供HKEY_LOCAL_MACHINE所需的信息,或者在远程计算机中可访问的一组键中。  该根键中的许多子键与 i文件中设置项类似。图7显示了HKEY_LOCAL_MACHINE根键下的各个子键之间的情况。   6.HKEY_DYN_DATA  该根键存放了系统在运行时动态数据，此数据在每次显示时都是变化的，因此，此根键下的信息没有放在注册表中。图8显示了HKEY_DYN_DATA根键下的各个子键的情况。 三、注册表部分重要内容  注册表是一个大型数据库Registry。要详细地分析该数据库，不是一两页就能介绍完。我曾经用了半年多时间分析此数据库结构。下面只介绍部分重要内容。   (一)HKEY_CLASS_ROOT  1.HKEY_CLASS_ROOT/Paint.Pricture/DefaultIcon双击窗口右侧的默认字符串，在打开的对话框中删除原来的“键值”，输入%1。重新启动后，在“我的电脑”中打开Windows目录，选择“大图标”，然后你看到的Bmp文件的图标再也不是千篇一律的MSPAINT图标了，而是每个Bmp文件的略图（前提是未安装ACDSee等看图软件）。   (二)HKEY_CURRENT_USER  1.HKEY_CURRENT_USER\Control Panel\Desktop 中新建串值名MenuShowDelay=0 可使“开始”菜单中子菜单的弹出速度提高。  2.在HKEY_CURRENT_USER\Control Panel\Deskt-op\WindowsMeterics中新建串值名MinAnimate，值为1启动动画效果开关窗口，值为0取消动画效果。   （三） HKEY_LOCAL_MACHINE  1.HKEY_LOCAL_MACHINE\software\microsoft\windows\currentVersion\explorer\user shell folders 保存个人文件夹、收藏夹的路径。   2.HKEY_LOCAL_MACHINE\system\currentControl-Set\control\keyboard Layouts 保存键盘使用的语言以及各种中文输入法。   3.HKEY_LOCAL_MACHINE\software\microsoft\windows\currentVersion\uninstall 保存已安装的Windows应用程序卸载信息。   4.HKEY_LOCAL_MACHINE\system\CurrentControl-Set\services\class 保存控制面板-增添硬件设备-设备类型目录。   5.HKEY_LOCAL_MACHINE\system\Current-ControlSet\control\update 设置刷新方式。值为00设置为自动刷新，01设置为手工刷新[在资源管理器中按F5]。   6.HKEY_LOCAL_MACHINE\software\microsoft\win-dows\currentVersion\run 保存由控制面板设定的计算机启动时运行程序的名称，其图标显示在任务条右边。在“启动”文件夹程序运行时图标也在任务条右边。   7.HKEY_LOCAL_MACHINE\software\microsoft\windows\currentVersion\Policies\Ratings 保存IE4.0中文版“安全”\“分级审查”中设置的口令(数据加密),若遗忘了口令,删除 Ratings 中的数据即可解决问题。   8.HKEY_LOCAL_MACHINE\software\microsoft\windows\currentVersion\explorer\desktop\nameSpace 保存桌面中特殊的图标,如回收站、收件箱、MS Network等。   （四） HKEY_USERS  1.HKEY_USERS\.Default\software\microsoft\internet explorer\typeURLs保存IE4.0浏览器地址栏中输入的URL地址列表信息。清除文档菜单时将被清空。  2.HKEY_USERS\.Default\so..\mi..\wi..\current-Version\ex..\menuOrder\startMenu保留程序菜单排序信息。  3.HKEY_USERS\.Default\so..\microsoft\windows\current-Version\explorer\RunMRU保存“开始 \ 运行...”中运行的程序列表信息。清除文档菜单时将被清空。  4.HKEY_USERS\.Default\so..\microsoft\windows\current-Version\explorer\RecentDocs 保存最近使用的十五个文档的快捷方式(删除掉可解决文档名称重复的毛病)，清除文档菜单时将被清空。  5.HKEY_USERS\.default\software\microsoft\windows\currentVersion\applets 保存Windows应用程序的记录数据。  6.HKEY_USERS\.default\software\microsoft\windows\currentVersion\run保存由用户设定的计算机启动时运行程序的名称，其图标显示在任务条右侧。  注册表通过键和子键来管理各种信息。但是，注册表中的所有信息是以各种形式的键值项数据保存下来。在注册表编辑器右窗格中，保存的都是键值项数据。这些键值项数据可分为如下三种类型：  1.字符串值  在注册表中，字符串值一般用来表示文件的描述、硬件的标识等。通常它由字母和数字组成，最大长度不能超过255个字符。在图9所示中，“D:\pwin98\trident”即为键值名“a”的键值，它是一种字符串值类型的。同样地，“ba”也为键值名“MRUList”的键值。通过键值名、键值就可以组成一种键值项数据，这就相当于 i、 i文件中小节下的设置行。其实，使用注册表编辑器将这些键值项数据导出后，其形式与INI文件中的设置行完全相同。   2.二进制值  在注册表中，二进制值是没有长度限制的，可以是任意个字节长。在注册表编辑器中，二进制以十六进制的方式显示出来，如图10所示。 在图10中，键值名Wizard的键值“80 00 00 00”就是一个二进制。在如图11所示的“编辑二进制值”对话框时，在编辑框的左边输入十六进制数时，其右边将会显示相应的ASCII码。   3.DWORD值  DWORD值是一个32位（4个字节，即双字）长度的数值。在注册表编辑器中，您将发现系统会以十六进制的方式显示DWORD值，如图12所示。在编辑DWORD数值时，可以选择用十进制还是16进制的方式进行输入。