远望资讯·《新潮电子》99年第二期


一 切 从 这 里  开 —— 注 册 表 概 述
□黄后软件工作室 曹国钧

  Windows 98中文版在安全可靠方面较Windows 3.x优越,一个重要表现就是采用了注册表数据库Registry。该数据库以分层格式存储配置,将所有INI文件(如Win.ini、System.ini、Control.ini等)包括在Registry中,这样,便于简化管理,使网络管理员易于在Windows 98中使用管理工具提供本地或远程服务。

一、Registry与Windows 98之间的关系
  Registry与Windows 98之间的关系,可以概括为如图1所示。

  下面详细解释图1中各个选项之间的关系。

  1.硬件数据(NTDETECT)
  在启动Windows 98时,Registry计算机检测到的硬件信息。

  2.Windows 98内核(98OSKRNL)
  在Windows 98启动期间,Windows 98内核从Registry中选取信息,包括要装入什么设备驱动程序,以及用什么次序装入,内核传送回它自身的信息,例如版权号等。

  3.设备驱动程序
  
设备驱动程序也向Registry传送数据,并从Registry接收装入和配置参数。性能良好的设备驱动程序告诉Registry它在使用什么系统资源,例如,硬件中断或DMA通道等。
另外,设备驱动程序还报告所发现的配置数据。

  4.管理/配置工具
  
Windows 98还提供了大量其他接口,允许用户修改系统配置数据,例如控制面板、设置程序等。

  5.设置程序
  
为应用程序或硬件运行Windows 98的设置程序或其他设置程序时,程序可以对Registry增加新的配置数据。

  6.Win16应用程序
  Windows 98为了与一些应用程序和相关工具兼容,也支持INI文件。
  因为一些应用程序,特别是16位Windows应用程序,在现阶段仍将继续使用INI文件。Autoexec.bat和Config.sys文件也将存在,以提供对MS DOS和Windows 3.x应用程序兼容。当安装一个基于Windows 3.x的应用程序时,应用程序的安装程序Setup像在Windows中一样创建它自己的INI文件或在Win.ini或System.ini文件创建入口。例如,中文Word 6.0在Windows 98中安装时,在Win.ini文件中修改了[embedding]小节。

[embedding]
Package=包,包,packager.exe,picture
Midfile=MIDI 序列,MIDI 序列,C:\WINDOWS\mpl-ayer.exe /mid,picture
SoundRec=声音,声音文件,C:\WINDOWS\sn-drec32.exe,picture
Pbrush=画笔图片,画笔图片,C:\Progra~1\Acc-ess~1\MSPAINT.EXE,pictu
rePaint.Picture=BMP 图像,BMP图像,C:\Progra~1\Access~1\MSPAIN-T.EXE,pictureMplayer=媒体剪辑,媒体剪辑,C:\WINDOWS\mplayer.exe,picture
Wordpad.Document.1=写字板文档,写字板文档,C:\Progra~1\Access~1\WORDPAD.EXE,picture
ComicChat.Room.1=Comic Chat Room,Comic Chat Room,C:\PROGRA~1\Chat\CChat.exe,picture
Imaging.Document=图像文档,图像文档,C:\WINDOWS\KodakImg.Exe,picture
WangImage.Document=图像文档,图像文档,C:\WINDOWS\KodakImg.Exe,picture
Avifile=视频剪辑,视频剪辑,C:\WINDOWS\mpla-yer.exe /avi,picture
FaxView.Document=传真浏览器文档,传真浏览器文档,C:\WINDOWS\FAXVIEW.EXE,picture

  在Win.ini文件中增加了[MSWord Text Converters]小节。

[MSWord Text Converters]
ATdBase=dBase (英文), E:\Winword50\CONV-DBA.DLL, dbf
PrcWPS=WPS Converter, E: \Winword50\CONV-WPS.DLL, wps
WrdPrfctDos=Word Perfect 5.0/5.1, E: \Winword50\CONV WP5.DLL, doc
MSWinWrite=Windows 写字板, E: \Winwor-d50\CONV \WRI.DLL, wri
Text with Layout=Text with Layout, E: \Winword50\CONVTXT.CNV, ANS
DOS Text with Layout=DOS Text with Layout, E: \Winword50\CONVASC.CNV, ASC

  但是,这些入口不能在Registry中升级,因为这些应用程序不知道如何访问Registry。因此,基本的System.ini、Win.ini和Winfile.ini文件仍放在Windows 98系统目录中。

二、注册表Reigstry的层次结构
   注册表Reigstry的层次结构类似于硬盘中的目录树,我们可参见图2。

三、Registry与INI文件之间的关系
  
Registry与Windows 98中的INI文件有许多相似之处。键或子键类似于INI文件中的小节,一个键值项对应于INI文件中小节里的一条设置项。然而,Registry可以包括子键,而INI文件不支持小节的嵌套。
  Registry中的键值项还可以包含可执行代码,而在INI文件中设置项只是简单的字串。
  在同一台计算机上有多个用户,Registry可以存储每个用户的特性,而INI文件中却不可能。
  如果您在Windows 3.x上升级为Windows 98,则安装程序会从System.ini和Win.ini文件文件中选择一些延续信息放入到注册表中。不过,为了与以前的Windows版本上的老式16位应用程序保持兼容,INI文件中的有些设置项不能迁移到Windows 98的注册表中。
  在升级安装Windows 98的过程中,安装程序将从Win.ini文件的[desktop]、[windows]、[sounds]等小节中移出部分设置项到注册表的HKEY_CURRENT_USER根键中。
  另外,安装程序也将从System.ini文件的[Network]、[386Enh]、[drivers]等小节中移出设置项到注册表的HKEY_LOCAL_MACHINE根键中。

四、注册表的文件组成
  在Windows 95/98中,注册表registry放在Windows目录下,主要由六个文件组成的。这六个文件是一些隐含(H)、系统(S)、只读(R)文件。下面简要地介绍这六个文件的功能。
  (1)系统配置注册表文件System.dat
  在Windows 98的系统目录中有一个隐含、系统、只读文件System.dat,它是Windows 98注册表的一部分,该文件具有如下作用:
  ● 描述单一的PC配置。
  ● 描述安装在一单独的PC上的消息。
  ● 安装即插即用类型的设备硬件配置,如设备的I/O地址、IRQ级和DMA通道等。
  该文件的作用有点类似Windows 3.x中的System.ini文件。
  该文件在Windows 98的网络运行状态时,保存在本地的工作站或本地PC机中。
  在Windows 98安装期间,Setup将检查您的计算机上已安装的硬件,然后在System.dat中建立适当的配置项。若从现有的Windows 3.x中安装Windows 98,则Setup将把现有的System.ini、Reg.dat文件中的部分设置项拷贝到System.dat中。
  在您使用“控制面板”的“系统”图标查看硬件配置时,其窗口中所显示的选项都是从System.dat中读取的。

  (2) 系统配置注册表备份文件System.da0
  Windows 98的注册表的一个主要特点就是可靠性强,不易损坏。这个特点靠的就是注册表有备份文件。
  系统配置注册表System.dat的备份文件为System.da0,该文件在System.dat文件遭到意外破坏时,将由系统自动拷贝为System.dat。

  (3) 用户平台配置注册表文件User.dat
  在Windows 98的系统目录中有一个隐含、系统、只读文件User.dat,它也是Windows 98的注册表的一部分,该文件具有如下作用:
  ● 它定义用户优先权,如用户平台配置等。
  ● 特定于某一个用户的应用程序的安装信息。
  该文件的作用类似于Windows 3.x的Win.ini文件。
  当您在Windows 98中使用网络时,User.dat必须放在网络服务器上。
  在您第一次输入用户标识和密码时,安装程序将把这些信息存储在User.dat中。您的Windows 98的序列号也存储在USER.DAT中。
  如果用户在“控制面板”的“密码”图标中选择了“用户可自定义首选项及桌面设置登录时,Windows自动启用个人设置”这个选项后(参见图4所示),系统就会为每个用户创建他自己的User.Dat,并且把它保存为C:\Windows\Profiles\用户名\User.dat。用户每次登录后,他自给的User.dat会被调入到系统中。

  (4) 用户平台配置注册表备份文件User.da0
  用户平台配置注册表文件User.dat也有一个备份文件User.da0。当User.dat遭到意外破坏时,将由系统将User.da0拷贝为User.dat,从而使User.dat得到了恢复。

  (5) 网络管理注册表文件Config.pol
  若您在Windows 98安装了“系统策略编辑器”后,则用户可以使用Config.pol文件中的限制来决定系统如修改注册表,也就是说,系统根据Config.pol中的设置对网络用户的操作作一些限制,这种限制在Windows 98被称为“策略”。Config.pol文件也具有隐含、系统、只读属性。

  (6) 网络管理注册表备份文件Config.po0
  Config.pol也有一个备份文件Config.po0,它存放在网络服务器中,两者属性相同。


远望资讯版权所有

Next-->page>>回上一页,看更多资料