计算机高手——注册表计算机高手——注册表一、什么是注册表?注册表是什么?大部分人可能会说,“那是Windows操作系统的东西”。那么,注册表真的是一个表吗,它在Windows中有么功能,存放在哪里?对于这个问题,可能有些人都回答不上来。至于注册表的使用,利用注册表解决问题,我想大部分人都会说“没有”。注册表在Windows操作系统中属于比较高的范畴,而且在微软所有的文档中,凡是涉及到需要修改的注册表的地方,都会无一例外地写到“警告”!那么注册表真的是那么神秘,那么危险吗?是否应该学习注册表呢?只有在明白了注册表的功能后,才能够对上述问题做出解答。通俗的说,注册表是Windows组成的一个部分,它存放了Windows中的个种配置参数,Windows的各个功能模块及各种安装的应用软件。在Windows功能和应用软件被执行前,首先是从注册表取出参数,根据这些参数来调整自己的运行。注册表的功能和Windows3.1下的INI文件的功能比较类似。从这里可以看出,注册表是隐藏在操作系统内部的东西,使用者不直接和它打交道,即使根本不知道它也不会影响使用Windows。计算机高手——注册表1、注册表概念注册表是Windows的一个内部数据库,是一个巨大的树状分层的数据库。它容纳了应用程序和计算机系统的全部配置信息、系统和应用程序的初始化信息、应用程序和文档文键的关联关系、硬件设备说明、状态和属性以及各种状态信息和数据。注册表中存放着各种参数,直接控制着Windows的启动、硬件驱动程序的装载以及一些Windows应用程序的运行,从而在整个Windows系统中起着核心作用。它包括如下一些内容:(1)软、硬件的有关配置和状态信息,注册表中保存有应用程序和资源管理器外壳的初始条件、首选项和卸载数据。(2)联网计算机的整个系统的设置和各种许可、文件扩展名与应用程序的关联关系,硬件部件的描述、状态和属性。(3)性能记录和其它底层的系统状态信息,以及其它一些数据。计算机高手——注册表2、注册表结构注册表编辑器的菜单之下是两个窗格,左面窗格中由“我的电脑”开始,以下是若干个分支,每个分支都以HEKY开头,称为主键,右面窗格显示的是所选主键内包含的一个或多个键值。键值由键值名及键值数据部分组成,这就是右窗格中的两个列表(名称、数据)所表示。主键中可包括多级次级主键,注册表中的信息就是按多级的层次结构组织起来的。注册表中的每个分支中保存有该计算机中软硬件设置中某一方面的特定信息与数据。在注册表编辑器窗口底部是状态栏,当选定一个主键或次级主键时,状态栏中显示出所选主键所处的路径。HKEY_CLASSES_ROOTHKEY_CURRENT_USERHKEY_LOCAL_MACHINEHKEY_USERHKEY_CURRENT_CONFIGHKEY_DYN_DATA计算机高手——注册表3、注册表组成在Windows中,注册表由两个文件组成:System.dat和User.dat,保存在Windows所在的文件夹中。它们是由二进制数据组成,因而无法用文本编辑器加以查看和修改。前者包含系统硬件和软件的设置,而后者保存着用户有关的信息,例如颜色方案、资源管理器的设置以及网络口令等。在Windows的文件夹中提供了注册表编辑器(Regedit.exe)这个工具,用来查看和维护注册表。计算机高手——注册表二、几个术语选项卡:如果供选择的选项比较多,则这些选项可以按照种类、用途,分成几个选项窗口,每个窗口中显示若干个选项。这些选项窗口放在一个窗口中,通过单击选项窗口上的标签来切换不同的窗口,这样的每个选项窗口称选项卡。在图中的“常规”、“查看”、“文件类型”和脱机文件“就是选项卡。占位符:占位符是个变量,用于代表某个依赖于具体环境的信息。每个占位符使用%包括起来。常见的有:%SystemRoot%——代表Windows的安装目录。%SystemDriver%——代表Windows安装在哪个分区上。COM:组件对象模型。它是一个独立于平台的、分布的、面向对象的系统,用于创建可以互操作的二进制软件组件。计算机高手——注册表注册表实际上是一个庞大的数据库,它包含了应用程序和系统软硬件的全部配置信息,初始化信息及其它重要数据。从一般用户的角度看,注册表系统由两部分组成:注册表数据库和注册表编辑器。其中注册表数据库包括两个文件:System.dat和User.dat。前者是用来保存计算机的系统信息,如安装的硬件和设备驱动程序的有关信息等;后者则是用来保存每个用户特有的信息,如桌面设置、墙纸或窗口的颜色设置等。它们一般都放在C盘Windows目录下。计算机高手——注册表注册表编辑器是用来对注册表进行各种编辑的工具。你可以在“开始”菜单中点击运行,在运行的对话框中填入“Regedit即可看到注册表编辑器。计算机高手——注册表注册表采用“关键字及其“键值来描述登录项及其数据。所有关键字都是以“HKEY作为前缀开头。具体看看系统预定义六个主关键字(即根键)吧:(1)HKEY_CLASSES_ROOT:基层类别键,定义了系统中所有已经注册的文件扩展名、文件类型、文件图标等。(2)HKEY_CURRENT_USER:定义了当前用户的所有权限,实际上就是HKEY_USERS\.Default下面的一部分内容,包含了当前用户的登录信息。(3)HKEY_LOCAL_MACHINE:定义了本地计算机(相对网络环境而言)的软硬件的全部信息。当系统的配置和设置发生变化时,其下面的登录项也会随之改变。计算机高手——注册表注册表采用“关键字及其“键值来描述登录项及其数据。所有关键字都是以“HKEY作为前缀开头。具体看看系统预定义六个主关键字(即根键)吧:(4)HKEY_USERS:定义了所有的用户信息,其中部分分支将映射到HKEY_CURRENT_USER关键字中,它的大部分设置都可以通过控制面板来修改。(5)HKEY_CURRENT_CONFIG:定义了计算机的当前配置情况,如显示器、打印机等可选外部设备及其设置信息等。它实际上也是指向HKEY_LOCAL_MACHINE\Config结构中的某个分支的指针。(6)HKEY-DYN-DATA:定义了系统运行中的动态数据,即已发生的事件的有关信息。它不仅包含系统硬件的当前状态,也包含了那些需要更新和检索的数据。系统每次启动时都要创建此关键字。计算机高手——注册表每个根键再由若干主键组成,键名代表一特定的注册项目,键值可分为字符串值、二进制值和DWORD值,都能用注册表编辑器进行修改。计算机高手——注册表◎HKEY_CLASSES_ROOT。该键由多个子键组成,具体可分为两种:一种是已经注册的各类文件的扩展名,另一种是各种文件类型的有关信息。◎HKEY_CLASSES_ROOT计算机高手——注册表Avifile子键当选中某个扩展名键时,在窗口的右窗格中将显示出有关的键值。例如在下图里选中“.avi”子键时,从其键值可以看出,对该扩展名将默认为视频动画文件(avifile),如图。计算机高手——注册表在HKEY_CLASSES_ROOT键中也包含了该类型文件的详细信息。我们仍然以avifile文件为例,在上图所示的窗口的左窗格中,移动垂直滚动条,则可以找到子键“avifile”,选中avifile子键,则我们可以看到其键值默认为“视频剪辑”,这表示用户可以对.avi文件进行编辑、播放等操作。第一个子键是“CLSID”,即“分类标识”,在选中它时可以看到其默认的键值。Windows系统可用这个类标识号来识别相同类型的文件。在HKEY_CLASSES_ROOT主键下也有一个子键“CLSID”,其中包含了所有注册文件的类标识,如图。◎HKEY_CLASSES_ROOT◎HKEY_CLASSES_ROOT计算机高手——注册表DefaultIcon子键该子键位于HKEY_CLASSES_ROOT\avifile\DefaultIcon分支上,用于设置avifile的缺省图标。●@=C:\\WINDOWS\\SYSTEM\\quartz.dll,100:使用C:\WINDOWS\SYSTEM\quartz.dll文件中的第100号图标作为avifile的缺省图标。您也可更改此缺省图标,例如,您可以使用将上面的键值数据更改为“@=C:\WINDOWS\Mplayer.exe,4”,则我们将采用第4号图标作为avifile的缺省图标。◎HKEY_CLASSES_ROOT计算机高手——注册表RIFFHandlers子键该子键位于HKEY_CLASSES_ROOT\avifile\RIFFHandlers分支上,用于设置RIFF文件的句柄。在该子键下包含了AVI和WAVE两个文件的类标识,如图。(1)AVI子键该子键位于HKEY_CLASSES_ROOT\avifile\RIFFHandlers\AVI分支上,用于设置AVI文件的类标识。(2)WAVE子键该子键位于HKEY_CLASSES_ROOT\avifile\RIFFHandlers\WAVE分支上,用于设置WAVE文件的类标识。◎HKEY_CLASSES_ROOT计算机高手——注册表Compressors子键该子键位于HKEY_CLASSES_ROOT\avifile\Compressors分支上。该分支下面的两个子键auds和vids分别给出了音频和视频数据压缩程序的类标识,通过这些类标识可以找到相应的处理程序,如图。1)auds子键该子键位于HKEY_CLASSES_ROOT\avifile\Compressors\auds分支上,用于设置音频数据压缩程序的类标识。(2)vids子键该子键位于HKEY_CLASSES_ROOT\avifile\Compressors\vids分支上,用于设置视频数据压缩程序的类标识。◎HKEY_CLASSES_ROOT计算机高手——注册表protocol子键该子键位于HKEY_CLASSES_ROOT\avifile\protocol分支上,该分支下的子键中包含了执行程序和编辑程序的路径和文件名,如图。(1)StdExecute子键该子键用于指定avifile的标准执行程序。(2)StdFileEditing子键该子键位于HKEY_CLASSES_ROOT\avifile\protocol\StdFileEditing分支上,用于设置标准文件编辑程序。◎HKEY_CLASSES_ROOT计算机高手——注册表shellex子键该子键位于HKEY_CLASSES_ROOT\avifile\shellex分支上。该分支的子键中包含了视频文件的外壳扩展,如图。在该子键下面有一个PropertySheetHandlers子键,位于HKEY_CLASSES_ROOT\avifile\shellex\PropertySheetHandlers分支上,用于设置“视频文件属性页”(AviPage)的文件句柄。在PropertySheetHandlers子键下面还有一个AviPage子键,位于HKEY_CLASSES_ROOT\avifile\shellex\PropertySheetHandlers\AviPage分支上,用于设置AviPage的类标识。◎HKEY_CLASSES_ROOT计算机高手——注册表Shell子键该子键位于HKEY_CLASSES_ROOT\avifile\Shell分支上,用于设置视频文件的外壳。(1)Open子键该子键具有如下子键结构:HKEY_CLASSES_ROOT\avifile\Shell\OpenHKEY_CLASSES_ROOT\avifile\Shell\Open\Command该子键用于设置“打开”avi文件的程序。(2)Play子键该子键具有如下子键结构:HKEY_CLASSES_ROOT\avifile\Shell\PlayHKEY_CLASSES_ROOT\avifile\Shell\Play\Command该子键指定用于“播放”命令的程序。