内容导航:
一、电脑注册表左边有5个选项,那 5个选项是什么意思
1 HKEY_LOCAL_MACHINEHKEY_LOCAL_MACHINE是一个显示控制系统和软件的处理键。
2 HKEY_CLASSES_ROOT
在注册表中HKEY_CLASSES_ROOT是系统中控制所有数据文件的项。
3 HKEY_CURRENT_CONFIG
windows一般只使用一个硬件配置文件。
4 HKEY_USERS
HKEY_USERS将缺省用户和目前登陆用户的信息输入到注册表编辑器,在windows中,它仅被那些配置文件激活的登陆用户使用。
5 HKEY_CURRENT_USER
HKEY_CURRENT_USER包含着在HKEY_USERS安全辨别里列出的同样信息。任何在HKEY_CURRENT_USER里的改动也都会立即HKEY_USERS改动。相反也是这样。
二、注册表中5大项是什么意思?
1、HKEY_CURRENT_USER 包含当前登录用户的配置信息的根目录。用户文件夹、屏幕颜色和“控制面板”设置均存储在此处。该信息被称为用户配置文件。2、HKEY_USERS
包含计算机上所有用户的配置文件的根目录。HKEY_CURRENT_USER 是 HKEY_USERS 的子项。主要由.DEFAULT子项构成,新用户根据默认用户.DEFAULT子项的配置信息来生成自己配置文件,该配置文件包括环境、屏幕、声音等多种信息。
3、HKEY_LOCAL_MACHINE
包含针对该计算机(对于任何用户)的配置信息。主要由HARDWARE、SAM、SECURITY、SOFTWARE、SYSTEM等项组成:
4、HKEY_CLASSES_ROOT
是HKEY_LOCAL_MACHINESoftware的子项。此处存储的信息可以确保当使用Windows 资源管理器打开文件时,将打开正确的程序。即在HKEY_LOCAL_MACHINESoftwareClasses中或者在HKEY_LOCAL_USERSoftwareClasses中出现的值,如果该信息同时在两处出现,那么HKEY_LOCAL_USERSoftwareClasses拥有优先权。
HKEY_CLASSES_ROOT下的子项可分为两类:一类是已经注册的各类文件的扩展名,这类子项都是以“.”加上扩展名命名的;另一类是各种文件类型的有关信息,这类子项是以字母开头的。
5、HKEY_CURRENT_CONFIG
包含本地计算机在系统启动时所用的硬件配置文件信息,实际上是从两个注册表项创建而来的,即HKEY_LOCAL_MACHINESystem和HKEY_LOCAL_MACHINESoftware。因为此子树是动态创建的,因此修改它的内容没有什么实际意义
三、注册表里的五个项目有什么区别?
具体查看、详细http:///www/special/regedit.asp
够你了解的哦!!
呵呵,进入关键所在了。要想玩转注册表,不弄清楚注册表的结构可不行!下面是摘自各个大虾的对注册表结构的精华论述。
(以下分割符内的内容,摘自《新潮电子》98年第六期 作者:何宗琦 )
HKEY_CLASSES_ROOT
该主关键字包含了有关的OLE信息,以便在系统工作过程中实现对各种文件和文档信息的访问。具体的内容有已经注册的文件扩展名、文件类型、文件图标等。
HKEY_USERS
PC用户都可以在这里设置自己的关键字和子关键字。根据当前登录的用户不同,这个关键字又可以指向不同的分支部分。这个分支部分将映射到HKEY_CURRENT_USER关键字中。用户根据个人爱好设置的诸如桌面、背景、开始菜单程序项、应用程序快捷键、显示字体、屏幕节电设置等信息均可以在这个关键字中找到。本关键字中的大部分设置都可以通过控制面板来修改。如果用户登录到系统中的信息,没有预定义的登录项,则采用本关键字下面的“Default”子关键字(如图2) 。
HKEY_CURRENT_USER
HKEY_CURRENT_USER是一个指向HKEY_USERS结构中某个分支的指针,它包含当前用户的登录信息。实际上它就是HKEY_USERS\Default下面的一部分内容,如果在HKEY_USERS\Default下面没有用户登录的其它内容,那么这两个主关键字包含的内容是完全相同的。
HKEY_LOCAL_MACHINE
该关键字包含了本地计算机(相对网络环境而言)的硬件和软件的全部信息。当系统的配置和设置发生变化时,本关键字下面的登录项也将随之改变。
HKEY_CURRENT_CONFIG
这个关键字实际上也是指向HKEY_LOCAL _MACHINE\Config结构中的某个分支的指针。HKEY_CURRENT_CONFIG下面的子关键字及内容与HKEY_LOCAL _MACHINE\Config\0001分支下面的子关键字及内容是完全相同的。本关键字包含的主要内容是计算机的当前配置情况,如显示器、打印机等可选外部设备及其设置信息等,而且这个配置信息均将根据当前连接的网络类型、硬件配置以及应用软件的安装不同而有所变化。
HKEY_DYN_DATA
顾名思义,本关键字包含了系统运行中的动态数据-即已发生的事件的有关信息。因此这个关键字的内容不仅包含系统硬件的当前状态,也包含了那些需要更新和检索的数据。这些数据都是动态变化的,它们总是最新的信息。WIN95每次启动时都将重新建立这个关键字。为了提高工作速度,HKEY_DYN_DATA实际上是存放在内存(RAM)中的,因此如果发生了对于注册表内容的修改,则不必立即写入磁盘。这对于提高系统的速度是十分必要的
(以下分割符内的内容,摘自《Windows98注册表大揭秘》 作者:徐洪云 )
1、HKEY_CLASSER_ROOT
该份之下至少包括100个关键字,这个分支下主要包括OLE数据,还包括文件扩展名和文件或应用程序的关联,改变改分支中的数据结构和内容将直接影响到系统软件的应用,此下的信息都被保存在system.dat文件中。
2、HKEY_USER
在这个关键字下显示的信息都保存在User.dat文件中,这包含了与具体用户有关的desktop(桌面)配置、网络连接以及start菜单。如果用户的计算机被配置为使用户的配置文件,那么系统就会为每个用户都创建一个单独的User.dat文件。当一个用户登录到计算机上时,Windows98将读取那个用户的user.dat文件,并把该文件放入内存中的Registry中。
3、HKEY_CURRENT_USER
它是适用于当前用户的HKEY_ USER部分。如果只有一个用户,即确省用户,那么HKEY_USER.Default和HKEY_CURRENT_USER是相同信息的不同的显示方式。
4、HKEY_LOCAL_MACHINE
这是针对计算机硬件以及安装的软件所设定的分支。如果计算机有多个硬件配置,那么每个配置的信息都保存在这里。如果你察看一下该分支下的SOFTWARE下面的信息,你会发现生产已安装软件的公司的名字都在这儿了,这个分支为关于每个公司产品的与具体机器有关的信息存放提供一个方便的地方。在这儿,你还可以发现应用程序名字、版本数、应用程序路径名以及以及硬件设置。Microsoft也使用这个分支注册它的软件。
5、HKEY_CURRENT_CONFIGURATION
在这里用户可以找到显示设置情况和使用的打印机。
6、HKEY_DYN_DATA
这里保存了Windows操作性能参数的数据,当Windows98加载后,该信息被保留在RAM中,同时被不断更新。
下面是各个子键的比较详细的介绍,看了上面还不满足的朋友请看,:)
(以下分割符内的内容,摘自《新潮电子》98年第六期 作者:何宗琦 )
HKEY_CLASSES_ROOT关键字
该关键字由多个子关键字组成,具体可分为两种:一种是已经注册的各类文件的扩展名,一种是各种文件类型的有关信息。图1左窗格中的子关键字就是各种已经注册的文件扩展名。
注册表内登录的文件扩展名中,一部分是系统约定的扩展名,另一部分是由应用程序自定义的扩展名。应用程序只有把自定义的扩展名登录到注册表中,系统才能识别和关联使用有关的文档,即只有经过注册的扩展名,系统才能自动关联。
当选中某个扩展名关键字时,在窗口的右窗格中将显示出有关的键值。例如在图1里选中“.avi ”时,从其键值可以看出,对该扩展名将默认为动画文件(avifile)。在HKEY_CLASSES_ROOT 关键字中也包含了该类型文件的详细信息。仍然以avifile文件为例,移动滚动条可以找到子关键字“AVIFile”, 选中AVIFile可以看到其键值默认为“视频剪辑”,表示可以对.avi文件进行编辑、播放等操作。单击AVIFile左边的“+”号,可以看到如图2所示的树型子关键字。
第一个子关键字是“CLSID”,即“分类标识”,在选中它时可以看到其默认的键值,如图3所示。系统可用这个标识号来识别相同类型的文件。
在 HKEY_CLASSES_ROOT主关键字下也有一个子关键字“CLSID”,其中包含了所有注册文件的类标识。因此也可以通过类标识来查找相关文件的各种信息。图4即是通过类标识查找AVIFILE文件的例子。可以看到在该标识字下面还有10个子关键字,它们的键值也同样表示了AVIFILE文件的有关信息。
下面我们把AVIFile的全部子关键字展开,来看看它包含了哪些有关的信息。展开全部子关键字后的窗口如图5所示。
“Compressors”(压缩程序)下面的两个子关键字“auds”和“vids”分别给出了音频和视频数据压缩程序的类标识,通过这些类标识可以找到相应的处理程序。
“DefaultIcon”的键值为:“c:pwin95mplayer.exe,3”,表示文件的默认图标是mplayer.exe文件中提供的第3号图标。
把“DefaultIcon”的键值改为:“c:pwin95mplayer.exe,4”,则采用图6中的第4号图标作为.avi文件的图标。
“Extensions”的作用是通过文件扩展名识别数据文件。它的3个子关键字中,AVI表示AVI文件,AV和WAV表示音频文件。
“Insertable”是插入表。
“protocol”包含了执行程序和编辑程序的路径和文件名。
打开“StdExecute”(标准执行程序)下面的子关键字“Server”,可看到键值为:“c:pwin95mplayer.exe/avi”,即指定了执行程序的路径和文件名。
打开“StdFileEditing”(标准文件编辑程序)下面的子关键字“Server”,可看到键值仍然为:“c:pwin95mplayer.exe/avi”,即编辑程序的路径和文件名。
“verb”下面的3个子关键字0、1、2键值表示程序的工作状态,分别为“播放”、“编辑”和“打开”。“RIFFHandlers”表示相关文件句柄,包含了AVI和WAVE文件的类标识。
“shell”包含了执行“打开”和“播放”命令的程序路径和文件名。它们在各自的“command”中列出的键值分别为“c:pwin95mplayer.exe %1”和“c:pwin95 mplayer.exe/play/close %1”。
“shellex”中包含了“多媒体文件属性表”(AviPage)的文件句柄。
下面我们再结合修改快捷方式图标来说明如何使用注册表修改显示信息。
1.打开注册表编辑器,在 HKEY_CLASSES_ROOT 关键字下滚屏找到与快捷方式有关的子关键字“lnkfile”并选中它。如图7所示。
2.键名“IsShortcut ” 表示在桌面的快捷方式图标的左下角标注一个向上的小箭头,即 ,如果你不喜欢这个小箭头,可以采用下面的方法删除它:选中“IsShortcut”,然后打开“编辑”菜单,单击“删除”命令,将该项删除。关闭注册表并重启Win95,你将发现快捷方式图标上已经没有小箭头了 。
3.键名“NeverShowExt”表示在快捷方式图标下不显示文件扩展名。如果你希望显示扩展名,可以采用下面的方法把该键名改为“AlwayShowExt”:单击“NeverShowExt”,打开“编辑”菜单,单击“重命名”命令,输入新名。关闭注册表并重启Win95。你会发现快捷方式图标上已经加上扩展名了。
HKEY_CURRENT_USER关键字
从图8中可以看到,HKEY_CURRENT_USER下面有7个子关键字。其中除“RemoteAccess”外,其余6个都为系统预定义。
AppEvents 登录已注册的各种应用事件
Control Panel 与控制面板设置有关的内容
InstallLocationsMRU 安装路径的有关信息
keyboard layout 键盘设置信息
Network 网络设置信息
RemoteAccess 此项是安装IE4.0建立的子关键字,包含该应用程序的有关信息
Software 软件的有关信息
1.AppEvents子关键字
AppEvents子关键字包含了各种应用事件的列表。其下面又包含两个子关键字EventLabels(按字母顺序列表)和Schemes(按事件分类列表)。
从图9可以看出,Schemes是按照应用(Apps)和命名(Name)对事件进行分类的。在本系统中,Apps共分为 Default(缺省)、Explorer(资源管理器)、Mplayer(媒体播放器)和Norton Navigator(笔者安装的应用程序);Name一般情况下均采用Windows缺省值。在“控制面板”中打开“声音”对话框,你可以看到这些事件的中文列表,其内容与按照应用(Apps)来对事件分类的列表是一一对应的。
2.Control Panel子关键字
该子关键字所包含的内容与桌面、光标、键盘和鼠标等设置有关。改变它们的键值就将改变对应的工作环境或参数。图10为Control Panel的结构。
在图10中可以看到,Control Panel下面又有8个子关键字。根据系统配置和设置情况的不同,子关键字的数目也会不同。例如有的系统中没有“Mouse”关键字,并不是表示计算机中没有安装鼠标,而是指你从来没有对鼠标作过任何设置,系统完全采用默认值。
虽然Control Panel中的键值与环境和特性有直接关系,但很多参数的改变并不要求用户通过修改注册表来实现,而只需通过“控制面板”即可进行修改。也有一些环境特性的改变只能通过修改注册表来实现,例如,改变菜单的弹出延迟时间。
在Win95中,系统默认的菜单弹出延迟时间为400ms(随机器的性能不同,实际感觉到的延时可能有一定误差)。如要改变其缺省值,可在注册表编辑器的 HKEY_CURRENT_USER Control Paneldesktop中增加一个键值名“MenuShowDelay”,通过改变其键值来改变菜单显示延时(如图10所示),键值的设定范围为0~1000(ms)。
Accessibility
这个子关键字包含了如图11所示的10个子关键字,多数子关键字在“控制面板”中都有对应的项。这些子关键字的键值名中一般都有一个“On”,当键值为0时,表示设置无效;键值为1时,表示设置生效。
Appearance
这个子关键字的键值中列出了可供选择的各种颜色和图案。可以在“控制面板”的“显示/外观”对话框的“方案”下拉菜单中,看到这些颜色和图案的中文名称。
cursors
这个子关键字的键值中列出了光标图案所在的文件路径。可以在“控制面板”的“鼠标/指针”对话框的“方案”下拉菜单中,看到这些颜色和图案的中文名称并进行设置。
desktop
这个子关键字的键值中列出了桌面和窗口中的各种部件,如:窗口边界、标题、图标、菜单、滚动条、消息框的长度、宽度和字体等数据。这些数据可以在“控制面板”的“显示/外观”对话框的“项目”下拉菜单中进行修改。下面再举一个只能通过修改注册表来实现的例子。
系统缺省设置,窗口在最小化和还原(或最大化)之间切换时,有一个平滑的变化过程(动画效果)。要取消这个动画效果,可以在HKEY_CURRENT_USER Control Paneldesktopwindowmetrics中增加一个键值名“MinAnimat”,其键值设置为0即可。
注:为0为取消动画效果,非0则保留动画效果。
Input Method
这个子关键字的键值中登录了“输入方法”转换热键的有关数据。这些数据你可以在“控制面板”中打开“输入法”对话框中的“热键”标签进行修改。
International
这个子关键字的键值中登录了表示“上午”和“下午”的数据。这些数据可以在“控制面板”中打开“区域设置”对话框中的“时间”标签进行修改。
keyboard
这个子关键字的键值中登录了击键时的重复延时和重复速率。这些数据可以在“控制面板”中打开“键盘”对话框中的“速度”标签进行修改。
Mouse
这个子关键字的键值中登录了鼠标的双击速度和指针的移动速度。这些数据可以在“控制面板”中打开“鼠标”对话框中的“按钮”和“移动”标签进行修改。
上面以AppEvents和Control Panel这两个子关键字为例作了比较详细的讨论,限于篇幅,对其他子关键字就不再详细介绍了。读者可以按照前面所列出的子关键字的基本内容自己进行分析。
HKEY_LOCAL_MACHINE关键字
图12中,HKEY_LOCAL_MACHINE下面的子关键字有8个。其中“.mp2”是安装播放软件“XING MPEG”后定义的关键字,其余的是系统预定义关键字。下面我们先对预定义关键字作简单介绍。
Config 包含了有关显示字体、分辨率、显示点距、颜色深度以及打印机型号等信息。
Enum 包含了系统当前配置的所有硬件设备的信息。
hardware 包含了系统使用的浮点处理器、串口等有关信息。
Network 包含了网络的有关信息。
Security 包含了安全设置的信息。
SOFTWARE 包含了系统软件、当前安装的应用软件及用户的有关信息。
System 包含了系统的全部软件和硬件信息。
对于HKEY_LOCAL_MACHINE关键字,有两点应该说明:
1.根据计算机中硬件配置和安装文件的不同,在HKEY_LOCAL_MACHINE中的信息将有很大的差别(在其他的关键字中也会反应出这种差别)。
2.HKEY_LOCAL_MACHINE下面各个子关键字中包含的信息有很多是重复的,这样做的目的,只是为了浏览和编辑的方便。当然在注册表数据库中是不会重复的。
下面以笔者使用的5X86系统的Enum(枚举)子关键字为例,介绍它的结构和包含的信息。
由于该硬件系统配置简单,因此图13中列出Enum下面的子关键字只有8项。如果你的硬件系统采用的是新型的主板并具有更多的配置,在Enum下面将会出现更多的子项,如BIOS、声卡、解压卡等。如果你的硬盘分为多个逻辑盘,也会把这些逻辑盘作为子项列出。下面就图13列出的几个子项作进一步介绍。
1.ESDI子关键字 该关键字包含了硬盘的有关信息,图14为ESDI的结构。
由于本系统配置了两个硬盘,因此有两个子项“ROOT&*PNP0600&000000”和“ROOT&*PNP0600&000010”,分别表示C、D两个硬盘。在右窗格中显示出C盘的若干有关信息。子项关键字中的前缀“ROOT”表示它们是挂接在“根”下面的设备,你可以在ROOT子关键字中找到它们。
如果你在系统中安装了虚拟光驱,也将在本子关键字中出现,而不会在SCSI子关键字中出现。因为虚拟光驱实际上是硬盘的一个部分。
2.FLOP子关键字 登录了软盘驱动器的有关信息。
3.HTREE子关键字 本系统没有使用。
4.Moniter子关键字 包含了系统监视器的有关信息。
5.Network子关键字 包含了本系统安装网络的有关信息。
6.PCI子关键字 包含了PCI总线和PCI设备的有关信息。
7.ROOT子关键字 包含了系统根节点下面挂接的所有系统设备和外部设备的有关信息。例如,本系统中硬盘C为子关键字“ROOT&*PNP0600&000000”,就说明它是挂接在根节点下面的。在ROOTPNP06000000中可以找到硬盘C的有关信息,如图15所示。
8.SCSI子关键字 登录了各种SCSI设备的有 关信息。光驱的有关信息一般也登录在此
四、注册表里的5个根分支都表示什么?
以下内容你认真看过以后,肯定对注册表会有很深入的了解:注册表
什么是注册表?
注册表因为它复杂的结构和没有任何联系的CLSID键使得它可能看上去很神秘。不幸的是,微软并没有完全公开讲述关于注册表正确设置的支持信息,这样使得注册表看上去更不可琢磨。处理和编辑注册表如同“黑色艺术”一样,它在系统中的设置让用户感觉象在黑暗中摸索一样找不到感觉。这样,因为用户对这方面的缺乏了解使得注册表更多的出现故障。
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的路径和文件名即可。
最开始,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 NT和Windows95中所有32位硬件/驱动和32位应用程序设计的数据文件。16位驱动在Winnt下无法工作,所以所有设备都通过注册表来控制,一般这些是通过BIOS来控制的。在Win95下,16位驱动会继续以实模式方式设备工作,它们使用system.ini来控制。16位应用程序会工作在NT或者Win95 下,它们的程序仍然会参考win.ini和system.ini文件获得信息和控制。
在没有注册表的情况下,操作系统不会获得必须的信息来运行和控制附属的设备和应用程序及正确响应用户的输入。
在系统中注册表是一个记录32位驱动的设置和位置的数据库。当操作系统需要存取硬件设备,它使用驱动程序,甚至设备是一个BIOS支持的设备。无BIOS支持设备安装时必须需要驱动,这个驱动是独立于操作系统的,但是操作系统需要知道从哪里找到它们,文件名、版本号、其他设置和信息,没有注册表对设备的记录,它们就不能被使用。
当一个用户准备运行一个应用程序,注册表提供应用程序信息给操作系统,这样应用程序可以被找到,正确数据文件的位置被规定,其他设置也都可以被使用。
注册表保存关于缺省数据和辅助文件的位置信息、菜单、按钮条、窗口状态和其他可选项。它同样也保存了安装信息(比如说日期),安装软件的用户,软件版本号和日期,序列号等。根据安装软件的不同,它包括的信息也不同。
然而,一般来说,注册表控制所有32位应用程序和驱动,控制的方法是基于用户和计算机的,而不依赖于应用程序或驱动,每个注册表的参数项控制了一个用户的功能或者计算机功能。用户功能可能包括了桌面外观和用户目录。所以,计算机功能和安装的硬件和软件有关,对所以用户来说项都是公用的。
有些程序功能对用户有影响,有些时作用于计算机而不是为个人设置的,同样的,驱动可能是用户指定的,但在很多时候,它们在计算机中是通用的。
注册表控制用户模式的例子有:
控制面板功能;
桌面外观和图标;
网络参数;
浏览器功能性和特征;
那些功能中的某些是和用户无关的,有些是针对用户的。
计算机相关控制项基于计算机名,和登陆用户无关。控制类型的例子是安装一个应用程序,不管是哪个用户,程序的可用性和存取是不变的,然而,运行程序图标依赖于网络上登陆的用户。网络协议可用性和优先权基于计算机,但是当前连接和用户信息相关。
这里是在注册表中基与计算机控制条目的一些例子:
存取控制;
登陆确认;
文件和打印机共享;
网卡设置和协议;
系统性能和虚拟内存设置;
没有了注册表,Win95和Winnt 就不太可能存在。它们实在太复杂了,以致于用过去的.ini文件无法控制,它们的扩展能力需要几乎无限制的安装和使用应用程序,注册表实现了它。然而,注册表比.ini文件更复杂,理解它如何工作,它做什么和如何用它来做是有效管理系统的关键。
在系统中注册表控制所有32位应用程序和它们的功能及多个应用程序的交互,比如复制和粘贴,它也控制所有的硬件和驱动程序。虽然多数可以通过控制面板来安装和设置,理解注册表仍是做Winnt和Win95系统管理基本常识。
二、注册表的结构
注册表的结构
注册表是Windows程序员建造的一个复杂的信息数据库,它是多层次式的。在不同系统上注册表的基本结构相同。其中的复杂数据会在不同方式上结合,从而产生出一个绝对唯一的注册表。
计算机配置和缺省用户设置的注册表数据在Winnt中被保存在下面这五个文件中:
DEFAULT,SAM,SECURITY,SOFTWARE,SYSTEM,NTUSER.DAT。
Win95中所有系统注册信息保存在windows目录下的SYSTEM.DAT文件里。所有硬件设置和软件信息也保存在这个文件。它要比NT注册表文件简单的多,因为这里并不需要更多的控制。Win95被设计为一个网络的客户或者单独工作的系统,所以用户控制或者安全级别和NT不一样。这使得Win95注册表工作比NT更容易,所以这个文件也比较小。
Win95用户的注册数据一般被保存在windows目录下的user.dat里。如果你在控制面板|密码|用户配置文件中创建并使用多于一个用户的配置文件,每个用户就会有在WINDOWSProfilesusernameUSER.DAT下它自己的user.dat文件。在启动时,系统将记录你的登陆,从你目录中的配置文件(USER.DAT信息)将被装入,以用来保持你自己的桌面和图标。
控制键
在注册表编辑器中注册表项是用控制键来显示或者编辑的。控制键使得找到和编辑信息项组更容易。因此,注册表使用这些条目。下面是六个控制键
HKEY_LOCAL_MACHINE
HKEY_CLASSES_ROOT
HKEY_CURRENT_CONFIG
HKEY_DYN_DATA
HKEY_USERS
HKEY_CURRENT_USER
Winnt和Win95的注册表并不兼容。从Win95向Winnt升级需要你重新安装32位应用程序,重新在桌面上创建图标,并重新建立用户环境。
通过控制键可以比较容易编辑注册表。虽然它们显示和编辑好象独立的键,其实HKEY_CLASSES_ROOT 和HKEY_CURRENT_CONFIG是 HKEY_LOCAL_MACHINE的一部分。HKEY_CURRENT_USER是HKEY_USERS的一部分。
HKEY_LOCAL_MACHINE包含了HKEY_CLASSES_ROOT和HKEY_CURRENT_CONFIG的所有内容。每次计算机启动时,HKEY_CURRENT_CONFIG和HKEY_CLASSES_ROOT的信息被映射用以查看和编辑。
HKEY_CLASSES_ROOT其实就是HKEY_LOCAL_MACHINESOFTWAREClasses,但是在HKEY_CLASSES_ROOT窗编辑相对来说显得更容易和有条理。
HKEY_USERS保存着缺省用户信息和当前登陆用户信息。当一个域成员计算机启动并且一个用户登陆,域控制器自动将信息发送到HKEY_CURRENT_USER里,而且HKEY_CURRENT_USER信息被映射到系统内存中。其他用户的信息并不发送到系统,而是记录在域控制器里。
键和子键
数据被分割成多层次的键和子键,建立分层次(就象Exploer一样)结构更易于编辑。每个键有成组的信息而且根据在其中的数据类型被命名。每个键在它的文件夹图标上都有一个加号(+)标志子键说明在它下面还有更多内容的东西。当点开它的时候,文件夹的加号标志被替换成一个减号(-)标志,然后显示出下一级的子键。
所有软件,硬件,windows工作的设置都存放在HKEY_LOCAL_MACHINE。所有安全策略,用户权限和共享信息也包括在这个键中。用户权限,安全策略,共享信息可以通过Windows NT域用户管理器,Explorer和Win95中控制面板来设置。
HKEY_CLASSES_ROOT
HKEY_CLASSES_ROOT包含了所有应用程序运行时必需的信息:
在文件和应用程序之间所有的扩展名和关联;
所有的驱动程序名称;
类的ID数字(所要存取项的名字用数字来代替);
DDE和OLE的信息;
用于应用程序和文件的图标;
HKEY_CURRENT_CONFIG.
HKEY_CURRENT_CONFIG是在HKEY_LOCAL_MACHINE中当前硬件配置信息的映射。如果系统只有一个配置文件,也就是原始配置,数据将一直在同样的地方。在控制面板|系统|硬件配置文件|创建一个额外的配置使额外配置信息放入HKEY_LOCAL_MACHINE。当Win95中存在多个配置文件时,当每次计算机启动时将给出一个提示让你选择一个配置文件。在Winnt中,在启动时你可以按空格键来选择上次正常启动时硬件配置文件。根据硬件配置文件选择的不同,特定的信息被映射到HKEY_CURRENT_CONFIG。
HKEY_DYN_DATA
HKEY_DYN_DATA和其他的注册表控制键不同,因为实际上它并不被写入硬盘驱动器中。Win95的一个优点是,在系统启动时HKEY_DYN_DATA这个控制键储存收集到的即插即用信息并配置它们。它保存在内存中,Win95用它来控制硬件。因为是在内存中,所以它不从硬盘中读取,每次当你启动计算机时,配置都有可能会不一样。在启动时Win95必须计算超过1600种可能的配置。所以,如果系统改变既定的设置而没有报告给Win95那么潜在的问题就可能发生。系统大多数时间工作良好,但是并非一直如此。
HKEY_USERS
HKEY_USERS仅包含了缺省用户设置和登陆用户的信息。虽然它包含了所有独立用户的设置,但在用户未登陆网络时用户的设置是不可用的。这些设置告诉系统哪些图标会被使用,什么组可用,哪个开始菜单可用,哪些颜色和字体可用,和控制面板上什么选项和设置可用。
HKEY_CURRENT_USER
用来保存当前用户和缺省用户的信息,HKEY_CURRENT_USER仅映射当前登陆用户的信息。
各主键的简单介绍
HKEY_LOCAL_MACHINE
HKEY_LOCAL_MACHINE是一个显示控制系统和软件的处理键。HKLM键保存着计算机的系统信息。它包括网络和硬件上所有的软件设置。(比如文件的位置,注册和未注册的状态,版本号等等)这些设置和用户无关,因为这些设置是针对使用这个系统的所有用户的。
HKEY_LOCAL_MACHINEAppEvents
为了以后在瘦客户机上运行客户机/服务器这样的应用程序,在Win95/98中AppEvents键是空的。应用程序实际上都驻留网络服务器上,这些键会保存部分指针。
HKEY_LOCAL_MACHINEConfig
这个键保存着你计算机上所有不同的硬件设置(这些从控制面板的系统属性中硬件配置文件中可以创建)。这些配置在启动时通常被复制到HKCC。每个配置会被用一个键(比如0001或者0002等等)来保存,每个都是一个独立的配置。如果你只有一个单一的配置,那就只会有0001这个键
HKEY_LOCAL_MACHINEConfig0001Display
这个键表示显示的设置,如荧屏字体,窗体大小,窗体位置和分辨率等
一个小技巧:当设置了计算机不支持的大分辨率导致Windows不能启动时(黑屏),可以修改分辨率来解决。进入安全模式,运行regedit.exe,在这个键的Resolution键值中把数据值修改为640,480或者800,600这样的低分辨率,然后重新启动计算机即可。
HKEY_LOCAL_MACHINEConfig0001System
这个键保存着系统里打印机的信息
HKEY_LOCAL_MACHINEConfig0001SystemCurrentControlSetControlPrintPrinters
在这个键下面,有一个键是为系统上每一个打印机设置的,通过控制面板添加和删除打印机会调整这个列表
HKEY_LOCAL_MACHINEEnum
Enum键包含启动时发现的硬件设备和那些既插即用卡的信息。Win95使用总线列举在启动时通过不同的.ini文件来检测硬件信息。那些在启动时被安装的和被检测到的硬件会显示在这里。子键包括BIOS, ESDI, FLOP, HTREE, ISAPNP, Monitor, Network, Root, SCSI, 和 VIRTUAL。子键名表示它们各自的硬件设备信息。
HKEY_LOCAL_MACHINEEnumBIOS
BIOS键保存着系统中所有即插即用设备的信息。它们用一套代码数列出,包括每一个键的详细说明,举例,*pnp0400是并行口LPT1的键。如果LPT1并不具备即插即用功能,它就会别列入到Enum下的Root键中
HKEY_LOCAL_MACHINEEnumRoot
Root键包括所有非即插即用设备的信息。在这里,我们可以迅速断定哪些设备是即插即用,那些不是。比如SCSI适配器,这个设备必须符合Win95中一个键名为ForcedConfig的硬件设置,这个不会改变。
HKEY_LOCAL_MACHINEEnumNetwork
win95的网络功能在这个键有详细说明,子键包括了每个已经安装的主要的服务和协议。
HKEY_LOCAL_MACHINEHARDWARE
hardware子键包括了两个多层的子键:DESCRIPTION键,它包含了中央处理器和一个浮点处理器的信息。还有一个设备映射键,它下面的串行键列出你所有的com端口。这个hardware键仅保存超级终端程序的信息,及数学处理器和串行口。
HKEY_LOCAL_MACHINENetwork
这个键仅保存网络登陆信息。所有网络服务细节都保存在HKEY_LOCAL_MACHINEEnumNetwork这个键中。这个键有一个子键,logon,包括了lmlogon(本地机器登陆?0=false 1=true)的值,logonvalidated(必须登陆验证),策略处理,主登陆方式(Windows登陆 ,微软网络客户方式等),用户名和用户配置。
HKEY_LOCAL_MACHINESECURITY
security 有两个子键,第一个是存取(它最终致使一个远程键列出网络安全资源,存取权限等)和提供(包括列出网络地址和地址服务器),这个键被保留用在以后使用高级安全功能和NT兼容性上
HKEY_LOCAL_MACHINESOFTWARE
这个键列出了所有已安装的32位软件和程序的.ini文件。它包括了变化,依靠软件安装。那些程序的控制功能在这里的子键中列出。多数子键简单的列出了安装软件的版本号。
我们在MicrosoftWindowsCurrent Version下发现了一些有意思的设置,它有如下子键:
1.App paths: 你曾经安装过的所有32位软件的位置。
2.Applets, Compression, Controls Folder : 包括下控制面板象显示属性那样属性条的附件。
3.Detect, explorer :很多有意思的子键如Namespace keys of Desktop和My Computer----它们指出了回收站和拨号网络的CLSID行----和提示子键可以让你建立自己的提示。
4.Extensions : 一个扩展联系的列表,当前相关联的扩展名和比特定的执行文件更适合的目标类型。
5.Fonts, fontsize, FS Templates :系统属性条中所选择文件系统模板, 服务器,桌面计算机或者笔记本电脑信息。
6.MS-DOS Emulation :包括一个应用程序兼容子键 为大量过时的程序二进制键所设。
7.MS-DOS Options :在dos模式下的设置,如himem.sys,cd-roms等。
8.Network :网络驱动的配置。
9.Nls, Policies :系统管理员认为你不应该去做的事。
10.ProfileList :所有可以登陆你计算机的用户名列表。
11.在Windows启动时运行的程序的神秘之处是它们并不在开始菜单的启动文件夹中。它们在HKEY_LOCAL_MACHINEMicrosoftWindowsCurrentVersion下的子键中被执行。
Run : 程序在启动时运行
RunOnce : windows初始化时程序在启动时只运行一次,这个经常用在当安装软件之后需要重新启动系统的时候,所以这个键一般都是空的。
RunServices : 它就象Run一样,但是包含了“服务”,它不象一般的程序它们是比较重要的或者是“系统”程序。但是它们不是VXDs,就象McAfee或者RegServ工作一样。
RunServicesOnce : 它只运行一次,但是是“系统自身”的安装(大量的windows安装参数:通常键值包括了系统目录位置,和win95更新,可选项安装组件,和windows启动目录的子键。
注意:在很多黑客木马软件中,常常在这里添加键值(一般是在Run中),这样使得木马软件可以随着windows启动而启动并且很隐秘。在这里可以查看不正常的启动项和去掉无用的运行程序(比如我就很不喜欢超级解霸的自动伺服器,在这里可以去掉它)。
12.SharedDLLs:共享DLL的列表,每一个都给出了在一个不可知系统的一个数字等级。
13.Shell Extensions:列出了“被认可的”OLE注册条,和相应的CLSID连接。
14.ShellScrap :这个包含了一个PriorityCacheformats的子键,它包括了一个空的有限值,它更象过去SmartDrive命令行参数的派生。
15.Time Zones : 主键值是你现在的时区;子键定义了所以可能的时区。
16.Uninstall:这个保存了程序在添加/删除程序对话框的显示;子键包含了指向反安装程序的路径。和安装向导相似.......)winlogon(包含了合法登陆布告的文本句)
HKEY_LOCAL_MACHINESYSTEMCurrentControlSet
这个子键包括设备驱动和其他服务的描述和控制。不同于windows nt,win95只包括限制驱动的控制设置信息。
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControl
这个子键包括了win95控制面板中的信息。不要编辑这些信息,因为一些小程序的改变在很多地方,一个丢失的项会使这个系统变的不稳定
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices
这个键包括了所有win95的标准服务。所有被添加的服务和设备,每个标准的服务键包括了它的设置和辨认设置。
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesArbitrators
atbitrators键包括了当两个设备共同占用同样的设置需要解决的信息。四个子键包括了内存地址,冲突,DMA,I/O端口冲突和IRQ冲突。
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesClass
class键包括了所有win95支持的设备classes控制,这些和你在添加新硬件出现的硬件组很类似,还包括了这些设备如何安装的信息。
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesinetaccs
这个键包括了关于这个系统变化的ie附件的可用性,它仅在你安装过ie2。0或者更高版本才出现。
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesMSNP32
msnp32描述了客户机如何在microsoft网络中实现功能,它包括了认证过程和认证者的信息。
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNWNP32
nenp32键描述了windows客户如何在netware网络中工作功能,它包括了关于认证过程和证明者的信息。
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesRemoteAccess
在这个键里包括需要远程工作在win95系统上的信息,有认证参数,主机信息,和为了建立一个拨号连接工作的协议信息。
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesSNMP
这个键包括了所以snmp(简单网络管理协议)的参数。它包括了允许的管理,配置陷阱,和有效的团体。
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesVxD
vxd键包括了win95中所有32位虚拟设备驱动信息,win95自动管理它们,所以不必要用注册表编辑器编辑它们,所以的静态vxds用子键列出。
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWebPost
webpost键包括了所有装载的internet邮局的设置,如果你连接一个isp,并且它列出载这里,你应该给自己选则一个服务器。
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWinsock
这个键列出了当连接到internet上winnsock文件的信息,如果列出了不正确的文件,你将不会连接上internet。
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWinTrust
wintrust功能是检查从Internet上下载来的文件是否有病毒,它可以确保你得到干净安全的文件。
HKEY_CLASSES_ROOT
在注册表中HKEY_CLASSES_ROOT是系统中控制所有数据文件的项。这个在Win95和Winnt中是相通的。HKEY_CLASSES_ROOT控制键包括了所有文件扩展和所有和执行文件相关的文件。它同样也决定了当一个文件被双击时起反应的相关应用程序。
HKEY_CLASSES_ROOT被用作程序员在安装软件时方便的发送信息,在Win95和Winnt中,HKEY_CLASSES_ROOT和HKEY_LOCAL_MACHINESoftwareClasses是相同的。程序员在运行他们的启动程序时不需要担忧实际的位置,相反的,他们只需要在HKEY_CLASSES_ROOT中加入数据就可以了。
在Windows用户图形界面下,每件事----每个文件,每个目录,每个小程序,每个连接,每个驱动---都被看做一个对象;每个对象都有确定的属性和它联系。HKCR包含着对象类型和它们属性的列表。HKCR主要的功能被设置为:
一个对象类型和一个文件扩展名关联
一个对象类型和一种图标关联
一个对象类型和一个命令行动作的关联
定义对象类型相关菜单选项和定义每一个对象类型属性选项
在Win95中,相关菜单就是当你鼠标右击一个对象时所弹出的菜单;属性就是当你选择属性项后一个展开的对话框。用简单术语来说就是在改变HKCR中的设置可以改变一个给定文件扩展名缺省的关联。改变一个文件类型的缺省图标,和添加或者删除给定对象类型的弹出菜单内容(或者所有的对象类型)
HKCR包括了三种基本类型的子键
??? 或者文件扩展名子键
文件扩展名子键在弹出菜单上连接文件扩展名到对象类型和相关操作,属性项,和相关操作。
object 类型子键
对象类型子键定义了一个对象类型在它缺省图标的项,它的弹出菜单和属性项,它的相关操作和它的CLSID连接。
CLSID 子键
在Windows下每件事都被用一个数字取代它的名字来对待。就象人往往是用名字来处理事情一样。CLSID是标识所有列出的图标,应用程序,目录,文件类型等等对象的数字。是微软为制造商分配的,每一个都必须是唯一的。制造商将CLSID放入安装程序文件这样就可以在安装时更新注册表。 注册表是应用程序进行时它们需要关于做什么的指示的数据库。比如说,假定你有一个微软Excel 7电子数据表的Word 7文档,当你在Word中双击这个电子数据表,应用程序菜单就会变成Excel的菜单而且电子数据表进入编辑状态,就好象你在Excel中一样。它是如何知道该做什么呢?每个Excel 7创建的文件都有Excel的CLSID连接。Word读这个CLSID后,到注册表中寻找指示,依赖CLSID下的数据运行.DLL文件或者应用程序。
CLSID子键为对象类型提供了OLE和DDE信息和图标。相关菜单,或者包含在它子键中的属性项信息。这个可能是多数让人看到后觉得“恐怖”的键。每个CLSID数必须是唯一的,实际上,为了这个目的微软已经出产了CLSID-产生程序--这个结果导致你往往得到32位16进制的数字串,除非你是程序员,否则多数部分键看起来是很枯燥的。它们包括内存管理模式,客户机/服务器配置,和OLE处理的.dll连接。
- 上一篇:我有一枚五行大布花钱背面是蛇龟货泉两字,有明白的人,我想知道我这个钱币价值多少人民币
- 下一篇:没有了