设为主页 | 加入收藏 | 繁體中文

Windows系统注册表知识完全揭密

  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有一个office excel.ini文件,它包含着选项、设置、缺省参数和其他关系到Excel运行正常的信息。在system.ini和win.ini中只需要指出excel.ini的路径和文件名即可。
  早在Dos和Win3.x的时代,大部分的应用步伐都是接纳了 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下的不同用户可以拥有各自的个性化设置,如不同的墙纸,不同的桌面。这便是通过注册表来实现的。
  由此可见,注册表(Registry)是Windows9x/Me/NT/2000操纵系统、硬件设置装备摆设以及客户应用步伐得以正常运行和保存设置的核心“数据库”;是一个巨大的树状分层的数据库。它记录了用户安装在呆板上的软件和每个步伐的相互联系关系关系;它包含了盘算机的硬件配置,包罗主动配置的即插即用的设置装备摆设和已有的各种设置装备摆设阐明、状态属性以及各种状态信息和数据等。
  一、注册表都做些什么?
  注册表是为Windows NT和Windows95中所有32位硬件/驱动和32位应用步伐计划的数据文件。16位驱动在Windows NT下无法工 作,以是所有设置装备摆设都通过注册表来刂疲话阏庑┦峭ü鼴IOS来控制的。在Win9x下,16位驱动会连续以实形式方式设置装备摆设工作,它们使用system.ini来控制。16位应用步伐会工作在NT大概Win9x 下,它们的步伐仍然会参考win.ini和system.ini文件得到信息和控制。
  在没有注册表的环境下,操纵系统不会得到必须的信息来运行和控制附属的设置装备摆设和应用步伐及精确响应用户的输入。
  在系统中注册表是一个记录32位驱动的设置和位置的数据库。当操纵系统需要存取硬件设置装备摆设,它使用驱动步伐,甚至设置装备摆设是一个BIOS支持的设置装备摆设。无BIOS支持的设置装备摆设安装时必须需要驱动,这个驱动是独立于操纵系统的,但是操纵系统需要知道从那边找到它们,文件名、版本号、其他设置和信息,没有注册表对设置装备摆设的记录,它们就不能被使用。
  当一个用户准备运行一个应用步伐,注册表提供应用步伐信息给操纵系统,这样应用步伐可以被找到,精确数据文件的位置被划定,其他设置也都可以被使用。
  注册表保存关于缺省数据和帮助文件的位置信息、菜单、按钮条、窗口状态和其他可选项。它同样也保存了安装信息(比如说日期),安装软件的用户,软件版本号和日期,序列号等。根据安装软件的不同,它包罗的信息也不同。
  然而,一样平常来说,注册表控制所有32位应用步伐和驱动,控制的要领是基于用户和盘算机的,而不依赖于应用步伐或驱动,每个注册表的参数项控制了一个用户的功效大概盘算机功效。用户功效大概包罗了桌面外观和用户目录。以是,盘算机功效和安装的硬件和软件有关,对以是用户来说项都是公用的。
  有些步伐功效对用户有影响,有些时作用于盘算机而不是为小我私家设置的,同样的,驱动大概是用户指定的,但在很多工夫,它们在盘算机中是通用的。
  二、注册表的结构分别及相互关系
  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两大类,这两大类的详细内容请看背面的先容。


    文章作者: 福州军威计算机技术有限公司
    军威网络是福州最专业的电脑维修公司,专业承接福州电脑维修、上门维修、IT外包、企业电脑包年维护、局域网网络布线、网吧承包等相关维修服务。
    版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处 、作者信息和声明。否则将追究法律责任。

TAG:
评论加载中...
内容:
评论者: 验证码: