推荐于 · TA获得超过333个赞
在注册表中HKEY_CLASSES_ROOT是系统中控制所有数据文件的项。这个在Win95和Winnt中是相通的。HKEY_CLASSES_ROOT控制键包括了所有文件扩展和所有和执行文件相关的文件。它同样也决定了当一个文件被双击时起反应的相关应用程序。
在Windows用户图形界面下,每件事----每个文件,每个目录,每个小程序,每个连接,每个驱动---都被看做一个对象;每个对象都有确定的属性和它联系。HKCR包含着对象类型和它们属性的列表。HKCR主要的功能被设置为:
一个对象类型和一个文件扩展名关联
一个对象类型和一种图标关联
一个对象类型和一个命令行动作的关联
定义对象类型相关菜单选项和定义每一个对象类型属性选项
在Win95中,相关菜单就是当你鼠标右击一个对象时所弹出的菜单;属性就是当你选择属性项后一个展开的对话框。用简单术语来说就是在改变HKCR中的设置可以改变一个给定文件扩展名缺省的关联。改变一个文件类型的缺省图标,和添加或者删除给定对象类型的弹出菜单内容(或者所有的对象类型)
HKCR包括了三种基本类型的子键
\??? 或者文件扩展名子键
文件扩展名子键在弹出菜单上连接文件扩展名到对象类型和相关操作,属性项,和相关操作。
对象类型子键定义了一个对象类型在它缺省图标的项,它的弹出菜单和属性项,它的相关操作和它的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连接。
1)shell:Shell键有个一”action“子键,如同”open“一样,这里有一个command子键;command子键有一个缺省句值,它包含了运行程序的命令行。将一个”open“子键放在一个对象类型的shell子键中会在这个对象类型的弹出菜单上多出一个”open“选项,给这个open子键一个command(缺省命令行"C:\Windows
2)shellex:Shellex键有一个子键。它们包含的每一个子键指向一个为对象类型执行OLE和DDE功能的CLSID项(比如说快速查看,一个菜单处理子键下指向一个有句值的CLSID键列出了包含了文件浏览功能的.dll文件)
3)shellnew:ShellNew包含了一个“command”句,它包含了一个打开对象类型“新”文件的命令行。
推荐于 · TA获得超过8.5万个赞
电脑提示注册表有问题是因为保存注册表的数据库文件出错,损坏,无法保存等原因产生的。
注册表(Registry,繁体中文版Windows称之为登录档)是Microsoft Windows中的一个重要的数据库,用于存储系统和应用程序的设置信息。早在Windows 3.0推出OLE技术的时候,注册表就已经出现。随后推出的Windows NT是第一个从系统级别广泛使用注册表的操作系统。但是,从Microsoft Windows
95开始,注册表才真正成为Windows用户经常接触的内容,并在其后的操作系统中继续沿用至今。
注册表可以理解为一个windows的文件库,它里面配置了很多软件和系统的规则参数,通常新安装软件以后都是在对注册表进行增量操作,而大部分软件卸载以后都不会清除注册表信息,或是清除不干净,那么这些遗留的信息就成了无用的内容,因为已经没有软件会使用它们了。
· TA获得超过3.2万个赞
注册表在WINDOWS*作系统中的作用和地位不言而喻,注册表就是为Windows NT和Windows95中所有32位硬件/驱动和32位应用程序设计的数据文件。16位驱动在Windows NT下无法工作,所以所有设备都通过注册表来控制,一般这些是通过BIOS来控制的。在Win9x下,16位驱动会继续以实模式方式设备工作,它们使用system.ini来控制。16位应用程序会工作在NT或者Win9x 下,它们的程序仍然会参考win.ini和system.ini文件获得信息和控制。
如果在没有注册表的情况下,*作系统将不会获得必须的信息来运行和控制附属的设备和应用程序及正确响应用户的输入信息。
在系统中注册表是一个记录32位驱动的设置和位置的数据库。当*作系统需要存取硬件设备,它使用驱动程序,甚至设备是一个BIOS支持的设备。无BIOS支持的设备安装时必须需要驱动,这个驱动是独立于*作系统的,但是*飨低承枰??来幽睦镎业剿?牵?募???姹竞拧⑵渌?柚煤托畔ⅲ?挥凶⒉岜矶陨璞傅募锹迹??蔷筒荒鼙皇褂谩?nbsp;
当用户准备运行一个应用程序,注册表提供应用程序信息给*作系统,这样应用程序可以被找到,正确数据文件的位置被规定,其他设置也都可以被使用。
注册表保存关于缺省数据和辅助文件的位置信息、菜单、按钮条、窗口状态和其他的可选项。它同样也保存了安装信息(比如说日期),安装软件的用户,软件版本号和日期,序列号等。根据安装软件的不同,它包括的信息也将有所不同。
然而,一般来说,注册表控制所有32位应用程序和驱动程序的设置,控制的方法主要是基于用户和计算机的,而不依赖于应用程序或驱动程序,每个注册表的参数项控制了用户的功能或计算机功能。用户功能可能包括了桌面外观设置和用户目录等。所以,计算机功能和安装的硬件和软件有关,对所以用户来说都是公用的。
有些程序功能对用户有影响,有些设置是作用于计算机而不是为个人设置的,类似的,驱动程序可能是用户指定的,但在很多时候,它们在计算机中是通用的。
计算机相关控制项基于计算机名,这与登陆用户没有什么大的关系。然而,运行程序图标依赖于网络上登陆的用户。网络协议可用性和优先权基于计算机,但是与当前的连接信息和用户信息是相关的。
假如没有了注册表,Win9x和Windows NT 就不太可能存在。它实在太复杂了,以致于用过去的.ini文件无法控制,它的扩展能力需要几乎无限制的安装和使用应用程序,注册表实现了它。然而,注册表比.ini文件更复杂,理解它如何工作,它做什么和如何用它来做是有效管理*作系统的关键所在。
在系统中注册表控制所有32位应用程序和它们的功能及多个应用程序的交替,它也控制所有的硬件和驱动程序。虽然大多数可以通过控制面板来安装和设置,而理解注册表仍是做Windows NT和Win9x系统管理基本常识内容。
概括起来,注册表中存放着各种参数,直接控制着Windows的启动、硬件驱动程序的装载以及一些Windows应用程序的运行,从而在整个系统中起着核心作用。它包括以下的主要内容:
(1)软、硬件的有关配置和状态信息,注册表中保存有应用程序和资源管理器外壳的初始条件、首选项和卸载数据。
(2)在联网状态下的计算机的整个系统的设置和各种默认设置,文件扩展名与应用程序的关联,硬件部件的描述、状态和属性。
(3)性能记录和其它底层的系统状态信息和其它的一些数据信息。
一旦注册表文件受到了破坏,轻者使Windows的启动过程出现异常,重者可以导致整个系统的完全瘫痪以至不能正常运行。因此正确地认识、使用,特别是及时备份注册表是相应有必要的,当注册表出现问题时要及时恢复注册表,对Windows的使用用户来说是非常重要的。