📄 lesson122.htm
字号:
<p align=justify>没有子键入口</p>
</td>
</tr>
<tr>
<td valign=top width="21%" class="p9">
<p align=justify>Username</p>
</td>
<td valign=top width="65%" class="p9">
<p align=justify>Network\Logon</p>
</td>
</tr>
<tr>
<td valign=top width="21%" class="p9">
<p align=justify>Workgroup</p>
</td>
<td valign=top width="65%" class="p9">
<p
align=justify>System\CurrentControlSet\Control\ComputerName\ComputerName</p>
</td>
</tr>
<tr>
<td rowspan=2 valign=top width="14%" class="p9">
<p align=justify>[386Enh]</p>
</td>
<td valign=top width="21%" class="p9">
<p align=justify>Network</p>
</td>
<td valign=top width="65%" class="p9">
<p align=justify>没有子键入口</p>
</td>
</tr>
<tr>
<td valign=top width="21%" class="p9">
<p align=justify>Transport</p>
</td>
<td valign=top width="65%" class="p9">
<p align=justify>Software\Microsoft\Windows\CurrentVersion\Network\Real
Mode Net</p>
</td>
</tr>
</tbody>
</table>
<blockquote>
<p><span class="p9"> </span></p>
<p> <span class="p9"><b> </b></span></p>
<p><span class="p9"><b> 1.2 注册表Registry的组成</b></span></p>
<p><span class="p9"> </span></p>
<p><span class="p9"> 我们知道,在Windows 3.x中,提供了一个注册数据库Reg.dat,它是一个一般二进制文件,它可用Regedit.exe程序来维护。Reg.dat是一个十分软弱的数据文件,在Windows
3.x中增加或删除O LE应用程序时,经常受到不同程度的破坏。</span></p>
<p><span class="p9"> Windows 98改变了Windows 3.x的做法,采用了一种强大的注册表Registry,它要比Reg.dat更为可靠。</span></p>
<p><span class="p9"> </span></p>
<p><span class="p9"><b> <font color="#FF00FF">3.注册表的文件组成</font></b></span></p>
<p><span class="p9"> 注册表Registry由五个文件组成的。介绍如下。</span></p>
<p><span class="p9"> 1.系统配置注册表文件System.dat</span></p>
<p><span class="p9"> 在Windows 98的系统目录中有一个隐含、系统、只读文件System.dat,它是Windows 98注册表的一部分,该文件具有如下作用:</span></p>
<p><span class="p9"> ● 描述单一的PC配置。</span></p>
<p><span class="p9"> ● 描述安装在一单独的PC上的消息。</span></p>
<p><span class="p9"> ● 安装即插即用类型的设备硬件配置,如设备的I/O地址、IRQ级和DM A通道等。</span></p>
<p><span class="p9"> 该文件的作用有点类似Windows 3.x中的System.ini文件。</span></p>
<p><span class="p9"> 该文件在Windows 98的网络运行状态时,保存在本地的工作站或本地PC机中。</span></p>
<p><span class="p9"> 在Windows 98安装期间,Setup将检查您的计算机上已安装的硬件,然后在System.dat中建立适当的配置项。若从现有的Windows
3.x中安装Windows 98,则Setup将把现有的System.ini、Reg.dat文件中的部分设置项拷贝到System.dat中,详见1.1.3节。</span></p>
<p><span class="p9"> 在您使用“控制面板”的“系统”图标查看硬件配置时,其窗口中所显示的选项都是从System.dat中读取的,如图1.3所示。</span></p>
<p align="center"> <span class="p9"><img height=454 src="Image12.gif" tppabs="http://toye.dihou.org/Image12.gif"
width=410><br>
图1.3</span></p>
<p><span class="p9"> 2.系统配置注册表备份文件System.da0</span></p>
<p><span class="p9"> Windows 98的注册表的一个主要特点就是可靠性强,不易损坏。这个特点靠的就是注册表有备份文件。</span></p>
<p><span class="p9"> 系统配置注册表System.dat的备份文件为System.da0,该文件在System.dat文件遭到意外破坏时,将由系统自动拷贝为System.dat。</span></p>
<p><span class="p9"> 3.用户平台配置注册表文件User.dat</span></p>
<p><span class="p9"> 在Windows 98的系统目录中有一个隐含、系统、只读文件User.dat,它也是Windows 98的注册表的一部分,该文件具有如下作用:</span></p>
<p><span class="p9"> ● 它定义用户优先权,如用户平台配置等。</span></p>
<p><span class="p9"> ● 特定于某一个用户的应用程序的安装信息。</span></p>
<p><span class="p9"> 该文件的作为类似于Windows 3.xWin.ini文件。</span></p>
<p><span class="p9"> 当您在Windows 98中使用网络时,User.dat必须放在网络服务器上。</span></p>
<p><span class="p9"> 在您第一次输入用户标识和密码时,安装程序将把这些信息存储在User.dat中。您的Windows 98的系列号也存储在USER.DAT中。</span></p>
<p><span class="p9"> 如果用户在“控制面板”的“密码”图标中选择了“用户可自定义首选项及桌面设置登录时,Windows自动启用个人设置”这个选项后(参见图1.4所示),系统就会为每个用户创建他自己的User.Dat,并且把它保存为C:\Windows\Profiles\用户名\User.dat。用户每次登录后,他自给的User.dat会被调入到系统中。</span></p>
<p align="center"> <span class="p9"><img height=331 src="Image13.gif" tppabs="http://toye.dihou.org/Image13.gif"
width=479><br>
图1.4</span></p>
<p><span class="p9"> 4.用户平台配置注册表备份文件User.da0</span></p>
<p><span class="p9"> 用户平台配置注册表文件User.dat也有一个备份文件User.da0。当User.dat遭到意外破坏时,将由系统将User.da0拷贝为User.dat,从而使User.dat得到了恢复。</span></p>
<p><span class="p9"> 5.网络管理注册表文件Config.pol</span></p>
<p><span class="p9"> 若您在Windows 98安装了“系统策略编辑器”后,则用户可以使用Config.pol文件中的限制来决定系统如修改注册表,也就是说,系统根据Config.pol中的设置对网络用户的操作作一些限制,这种限制在Windows
98被称为“策略”。Config.pol文件也是一个隐含、系统、只读文件,它主要用于Windows 98的网络用户的管理方面的策略。</span></p>
<p><span class="p9"> 6.网络管理注册表备份文件Config.po0</span></p>
<p><span class="p9"> 同System.dat、User.dat有备份文件一样,Config.pol也有一个备份文件Config.po0,它是一个隐含、系统、只读文件。它存放在网络服务器中。</span></p>
<p> <span class="p9"><b> </b></span></p>
<p><span class="p9"><b> 1.2.2 注册表中的根键</b></span></p>
<p><span class="p9">使用注册表编辑器可以观察注册表中的根键,如图1.5所示。</span></p>
<p align="center"><span class="p9"><img height=321 src="Image14.gif" tppabs="http://toye.dihou.org/Image14.gif"
width=480> <br>
图1.5 </span></p>
<p><span class="p9">注意:在“运行”对话框中输入RegEdit,然后单击“确定”按钮,则可以运行注册表编辑器,详见第2章介绍。</span></p>
<p><span class="p9">图1.5显示了Windows 98中文版的注册表Registry?(System.dat、User.dat、Config.pol)的数据组织结构。</span></p>
<p><span class="p9">图1.5左窗格显示的是注册表的根键,这样的根键共六个。?这些根键都是大写的,并以HKEY_为前缀,?这种命令约定是以Win32
API的Registry函数的关键字的符号变量为基础的。</span></p>
<p><span class="p9">虽然在注册表中,六个根键看上去处于一种并列的地位,彼此毫无关系。但事实上,HKEY_CLASSES_ROOT和HKEY_CURRENT_CONFIG中存放的信息都是HKEY_LOCAL_MACHINE中存放的信息的一部分,而HKEY_CURRENT_USER中存放的信息只是HKEY_USERS存放的信息的一部分。</span></p>
<p><span class="p9">HKEY_LOCAL_MACHINE包括HKEY_CLASSES_ROOT和HKEY_CURRENT_USER中所有的信息。在每次系统启动后,系统就映射出HKEY_CURRENT_USER中的信息,使得用户可以查看和编辑其中的信息。</span></p>
<p><span class="p9">实际上,HKEY_LOCAL_MACHINE\SOFTWARE\Classes就是HKEY_CLASSES_ROOT,为了用户便于查看和编辑,系统专门把它作为一个根键。同理,HKEY_CURRENT_CONFIG\SYSTEM\Current
Control就是HKEY_LOCAL_MACHINE\SYSTEM\Current Control。</span></p>
<p><span class="p9">HKEY_USERS中保存了默认用户和当前登录用户的用户信息。HKEY_CURRENT_USER中保存了当前登录用户的用户信息。</span></p>
<p><span class="p9">HKEY_DYN_DATA保存了系统运行时的动态数据,它反映出系统的当前状态,在每次运行时都是不一样的,即便是在同一台机器上。</span></p>
<p><span class="p9">根据上面的分析,注册表中的信息可以分为HKEY_LOCAL_MACHINE和HKEY_USERS两大类,这两大类的详细介绍参见第3章。</span></p>
<p><span class="p9"> </span></p>
<p><span class="p9"><b> 1.2.3 注册表中的键与子键</b></span></p>
<p><span class="p9">在注册表中(参见图1.5所示),所有的数据都是通过一种树状结构以键和子键的方式组织起来,十分类似于目录结构。每个键都包含了一组特定的信息,每个键的键名都是
和它所的信息相关的。如果这个键包含子键,则在注册表编辑器窗口中代表这个键的文件夹的左边将有“+”符号,以表示在这个文件夹中有更多的内容。如果这个文件夹被用户打开了,那么这个“+”就会变成“-”,如图1.6所示。</span></p>
<p align="center"><span class="p9"><img height=321 src="Image15.gif" tppabs="http://toye.dihou.org/Image15.gif"
width=480> <br>
图1.6</span></p>
<p><span class="p9">1.HKEY_USERS</span></p>
<p><span class="p9">该根键保存了存放在本地计算机口令列表中的用户标识和密码列表。?每个用户的预配置信息都存储在HKEY_USERS根键中。?HKEY_USERS是远程计算机中访问的根键之一。图1.7为HKEY_USER子关键字连接情况。</span></p>
<p align="center"><span class="p9"><img height=321 src="Image16.gif" tppabs="http://toye.dihou.org/Image16.gif"
width=480> <br>
图1.7</span></p>
<p><span class="p9">2.HKEY_CURRENT_USER</span></p>
<p><span class="p9">该根键包含本地工作站中存放的当前登录的用户信息,包括用户登录用户名和暂存的密码(注:此密码在输入时是隐藏的)。用户登录Windows
98时,其信息从HKEY_USERS中相应的项拷贝到HKEY_CURRENT_USER中。图1.8为HKEY_CURRENT_USER根键下各个键之间连接的情况。</span></p>
<p align="center"><span class="p9"><img height=480 src="Image17.gif" tppabs="http://toye.dihou.org/Image17.gif"
width=640> 图1.8</span></p>
<p><span class="p9">3.HKEY_CURRENT_CONFIG</span></p>
<p><span class="p9">该根键存放着定义当前用户桌面配置(如显示器等)的数据,以及最后使用的文档列表(MRU),和其他有关当前用户的Windows
98中文版的安装的信息.</span></p>
<p><span class="p9">图1.9为HKEY_CURRENT_CONFIG子关键字之间的连接情况。</span></p>
<p align="center"><span class="p9"><img height=321 src="Image18.gif" tppabs="http://toye.dihou.org/Image18.gif"
width=548></span></p>
<p><span class="p9">图1.9</span></p>
<p><span class="p9">4.HKEY_CLASSES_ROOT</span></p>
<p><span class="p9">根据在Windows 98中文版中安装的应用程序的扩展名,该根键指明其文件类型的名称。</span></p>
<p><span class="p9">在第一次安装Windows 98中文版时,RTF(Rich Text Format)文件与写字板(WordPad)?联系起来,但在以后安装了中文Word
6.0后,?双击一个RTF文件时,将自动激活Word。存放在SYSTEM.DAT中的HKEY_CLASSES_ROOT,???将替代WIN.INI文件中的[Extensions]?小节中的设置项,它把应用程序与文件扩展名联系起来,它也替代了Windows
3.x中的Reg.dat文件中的相似的设置项。?图1.10显示了HKEY_CLASSES_ROOT根键中包括的文件扩展名的情况。</span></p>
<p align="center"><span class="p9"><img height=480 src="Image19.gif" tppabs="http://toye.dihou.org/Image19.gif"
width=640><br>
图1.10</span></p>
<p><span class="p9">5.HKEY_LOCAL_MACHINE</span></p>
<p><span class="p9">该根键存放本地计算机硬件数据,此根键下的子关键字包括在SYSTEM.DAT中,用来提供HKEY_LOCAL_MACHINE所需的信息,或者在远程计算机中可访问的一组键中。</span></p>
<p><span class="p9">该根键中的许多子键与System.ini文件中设置项类似。</span></p>
<p align="center"><span class="p9"><img height=480 src="Image20.gif" tppabs="http://toye.dihou.org/Image20.gif"
width=640> <br>
图1.11显示了HKEY_LOCAL_MACHINE根键下的各个子键之间的情况。</span></p>
<p><span class="p9">图1.11</span></p>
<p><span class="p9">6.HKEY_DYN_DATA</span></p>
<p><span class="p9">该根键存放了系统在运行时动态数据,此数据在每次显示时都是变化的,因此,此根键下的信息没有放在注册表中。图1.12显示了HKEY_DYN_DATA根键下的各个子键的情况。</span></p>
<p align="center"><span class="p9"><img height=480 src="Image21.gif" tppabs="http://toye.dihou.org/Image21.gif"
width=640> <br>
图1.12</span></p>
<p><span class="p9"> </span></p>
<p><span class="p9"><b> 1.2.4 注册表中的键值项数据</b></span></p>
<p><span class="p9"> 注册表通过键和子键来管理各种信息。但是,注册表中的所有信息是以各种形式的键值项数据保存下来。在注册表编辑器右窗格中,保存的都是键值项数据。这些键值项数据可分为如下三种类型:</span></p>
<p><span class="p9"> 1.字符串值</span></p>
<p><span class="p9"> 在注册表中,字符串值一般用来表示文件的描述、硬件的标识等。通常它由字母和数字组成,最大长度不能超过255个字符。在图1.13所示中,“D:\pwin98\trident”即为键值名“a”的键值,它是一种字符串值类型的。同样地,“ba”也为键值名“MRUList”的键值。通过键值名、键值就可以组成一种键值项数据,这就相当于Win.ini、Ssytem.ini文件中小节下的设置行。其实,使用注册表编辑器将这些键值项数据导出后,其形式与INI文件中的设置行完全相同了。详见第3章。</span></p>
<p align="center"><span class="p9"><img height=480 src="Image22.gif" tppabs="http://toye.dihou.org/Image22.gif"
width=640> </span></p>
<p><span class="p9">图1.13</span></p>
<p><span class="p9"> 2.二进制值</span></p>
<p><span class="p9"> 在注册表中,二进制值是没有长度限制的,可以是任意个字节长。在注册表编辑器中,二进制以十六进制的方式显示出来,如图1.14所示。
</span></p>
<p align="center"> <span class="p9"><img height=480 src="Image23.gif" tppabs="http://toye.dihou.org/Image23.gif"
width=640><br>
图1.14</span></p>
<p><span class="p9"> 在图1.14中,键值名Wizard的键值“80 00 00 00”就是一个二进制</span></p>
<p><span class="p9"> 注意:在如图1.15所示的“编辑二进制值”对话框时,在编辑框的左边输入十六进制数时,其右边将会显示相应的ASCII码。</span></p>
<p align="center"> <span class="p9"><img height=292 src="Image24.gif" tppabs="http://toye.dihou.org/Image24.gif"
width=366><br>
图1.15</span></p>
<p><span class="p9"> 3.DWORD值</span></p>
<p align="center"><span class="p9"> DWORD值是一个32位(4个字节,即双字)长度的数值。在注册表编辑器中,您将<img height=480
src="Image25.gif" tppabs="http://toye.dihou.org/Image25.gif" width=640><br>
图1.16 </span></p>
<p><span class="p9">发现系统会以十六进制的方式显示DWORD值,如图1.16所示。</span></p>
<p><span class="p9">注意:在编辑DWORD数值时,可以选择用十进制还是16进制的方式进行输入,如图1.17所示。</span></p>
<p align="center"> <span class="p9"><img height=180 src="Image26.gif" tppabs="http://toye.dihou.org/Image26.gif"
width=324> <br>
图1.17</span></p>
<p><span class="p9"><b> 1.3 注册表的双重入口</b></span></p>
<p><span class="p9"> </span></p>
<p><span class="p9"> 在注册表中经常出现双重入口(分支),例如,有一些在HKEY_CLASSES_ROOT中的键同样会在HKEY_LOCAL_MACHINE中出现,如图1.18所示。</span></p>
<p align="center"> <span class="p9"><img height=480 src="Image27.gif" tppabs="http://toye.dihou.org/Image27.gif"
width=640><br>
图1.18</span></p>
<p><span class="p9"> 如果这些相同的分支出现在两个不同的根键中,那么,哪个根键有效呢?</span></p>
<p><span class="p9"> 注册表的子键都有严格的组织。如果相同的信息出现在超过一个的子键中,如果您只修改了一个子键,那么该修改是否作用于系统依赖于该子键的等级。一般来说,系统信息优先于用户等级。例如,一个设置项同时出现在HKEY_LOCAL_MACHINE和HKEY_USER子键中,通常由HKEY_LOCAL_MACHINE中的数据起作用。要注意的是,这种情况只发生在您直接编辑注册表时。如果您从“控制面板”中更改系统配置,则所有出现该设置项的地方均会发生相应的改变。</span></p>
<p><span class="p9"> 例如,您可以通过注册表设置文件关联,即将一个带有特殊后缀的文件连接到一个应用程序上。在注册表中,有四个子键都保存了文件管理的数据,它们分别是:HKEY_CLASSES_ROOT、HKEY_CURRENT_USER、HKEY_LOCAL_MACHINE、HKEY_USER。在缺省情况下,所有后缀为1ST的文件都被连接到记事本程序(Notepad)上。如果您在Windows资源管理器双击该后缀的文件,则系统将激活记事本,同时将此文件调入编辑。但是您也可此文件关联从Notepad改为Lotus
Ami Pro(这也是一个字处理程序),则您在双击后缀为1ST的文件时,将激活Lotus Ami Pro程序,同时编辑此文件。但是,如果您在直接编辑注册表时只修改一个子键,则会出现如下四种情况:</span></p>
<p><span class="p9"> ● 如果只修改HKEY_CLASSES_ROOT中的1ST项,则在双击1ST后缀的文件时将激活Lotus Ami
Pro。</span></p>
<p><span class="p9"> ● 如果只修改HKEY_CURRENT_USER中的1ST项,则在双击1ST后缀的文件时将激活Notepad。</span></p>
<p><span class="p9"> ● 如果只修改HKEY_LOCAL_MACHINE中的1ST项,则在双击1ST后缀的文件时将激活Lotus Ami
Pro。</span></p>
<p><span class="p9"> ● 如果只修改HKEY_USER中的1ST项,则在双击1ST后缀的文件时将激活Notepad。</span></p>
<p><span class="p9"> 在上面的例子中,HKEY_CLASSES_ROOT子键和HKEY_LOCAL_MACHINE子键看起来在控制文件关联上相互独立,这似乎有些自相矛盾,但是,要知道HKEY_CLASSES_ROOT根键就是HKEY_LOCAL_MACHINE\Software\Classes,因此,在改变HKEY_CLASSES_ROOT根键就是改变HKEY_LOCAL_MACHINE。</span></p>
<table width="100%" border="1" cellspacing="0" cellpadding="0" align="center" bgcolor="#99CCFF" bordercolorlight="#99CCFF" bordercolordark="#99CCFF">
<tr>
<td width="82%" class="p8" height="34">Copyright @看雪 1999 All rights reserved
<a href="mailto:toye@126.com">与我联系</a></td>
<td width="10%" class="p9" height="34"><a href="index.htm" tppabs="http://toye.dihou.org/index.htm">返回<br>
首页</a></td>
<td width="8%" class="p8" height="34"><a href="molu.htm" tppabs="http://toye.dihou.org/molu.htm" class="p9">返回<br>
目录</a></td>
</tr>
</table>
</blockquote>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -