论坛: 菜鸟乐园 标题:              注册表的双重入口问题(转自<<小网作坊>>) 复制本贴地址    
作者: qianbixin [qianbixin]    论坛用户   登录
      在注册表中经常出现双重入口(分支),例如,有一些在HKEY_CLASSES_ROOT中的键同样会在HKEY_LOCAL_MACHINE中出现。
  如果这些相同的分支出现在两个不同的根键中,那么,哪个根键有效呢?
  注册表的子键都有严格的组织。某些相同的信息会出现在超过一个的子键中,如果您只修改了一个子键,那么该修改是否作用于系统依赖于该子键的等级。一般来说,系统信息优先于用户等级。例如,一个设置项同时出现在HKEY_LOCAL_MACHINE和HKEY_USER子键中,通常由HKEY_LOCAL_MACHINE中的数据起作用。要注意的是,这种情况只发生在您直接编辑注册表时。如果您从“控制面板”中更改系统配置,则所有出现该设置项的地方均会发生相应的改变。

  例如,您可以通过注册表设置文件关联,即将一个带有特殊后缀的文件连接到一个应用程序上。在注册表中,有四个子键都保存了文件管理的数据,它们分别是:HKEY_CLASSES_ROOT、HKEY_CURRENT_USER、HKEY_LOCAL_MACHINE、HKEY_USER。在缺省情况下,所有后缀为1ST的文件都被连接到记事本程序(Notepad)上。如果您在Windows资源管理器双击该后缀的文件,则系统将激活记事本,同时将此文件调入编辑。但是您也可此文件关联从Notepad改为Lotus Ami Pro(这也是一个字处理程序),则您在双击后缀为1ST的文件时,将激活Lotus Ami Pro程序,同时编辑此文件。但是,如果您在直接编辑注册表时只修改一个子键,则会出现如下四种情况:

  ● 如果只修改HKEY_CLASSES_ROOT中的1ST项,则在双击1ST后缀的文件时将激活Lotus Ami Pro。
  ● 如果只修改HKEY_CURRENT_USER中的1ST项,则在双击1ST后缀的文件时将激活Notepad。
  ● 如果只修改HKEY_LOCAL_MACHINE中的1ST项,则在双击1ST后缀的文件时将激活Lotus Ami Pro。
  ● 如果只修改HKEY_USER中的1ST项,则在双击1ST后缀的文件时将激活Notepad。

  在上面的例子中,HKEY_CLASSES_ROOT子键和HKEY_LOCAL_MACHINE子键看起来在控制文件关联上相互独立,这似乎有些自相矛盾,但是,要知道HKEY_CLASSES_ROOT根键就是HKEY_LOCAL_MACHINE\Software\Classes,因此,在改变HKEY_CLASSES_ROOT根键就是改变HKEY_LOCAL_MACHINE。

            

地主 发表时间: 04/22 22:17

回复: nightcolor [nightcolor]   版主   登录
Window/预定义项 说明 
HKEY_CURRENT_USER 包含当前登录用户的配置信息的根目录。用户文件夹、屏幕颜色和“控制面板”设置存储在此处。该信息被称为用户配置文件。 
HKEY_USERS 包含计算机上所有用户的配置文件的根目录。HKEY_CURRENT_USER 是 HKEY_USERS 的子项。 
HKEY_LOCAL_MACHINE 包含针对该计算机(对于任何用户)的配置信息。 
HKEY_CLASSES_ROOT 是 HKEY_LOCAL_MACHINE\Software 的子项。此处存储的信息可以确保当使用 Windows 资源管理器打开文件时,将打开正确的程序。 
HKEY_CURRENT_CONFIG 包含本地计算机在系统启动时所用的硬件配置文件信息。 

在注册表编辑器中,可以将值项指派给新的项,或者可以改变分配给当前选定项的值项。值项在注册表中显示为由三部分(冒号分隔)组成的字符串。例如,

RefCount:REG_DWORD :0x1
对应以下这些值:

项名 RefCount 
项目类型 REG_DWORD 
项目值 0x1 


B1层 发表时间: 04/22 22:48

论坛: 菜鸟乐园

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号