Windows始终有一快菜鸟的禁区,那就是注册表。Windows将其运行时所需的配置信息存储在以树状格式组织的数据库(注册表)中,只要知道设置对应的注册表位置,就能对系统中几乎所有的设置进行修改。但微软官方对于注册表的资料实在有限,菜鸟对于注册表操作就更感觉无从下手了,
从零讲起!走出注册表应用的迷雾(下)
2.真正的根键只有两个
Windows 98的注册表有6个键值,而Windows 2000/XP/2003系统的根键数则是5个,但这些根键中只有HKEY_LOCAL_MACHINE和HKEY_USERS是真正的注册表键,其它几个键值都是从这两个根键的某个分支映射出来的,相对于这两个根键深层分支的一个快捷方式或者别名,主要是为了方便用户操作。
⑴HKEY_LOCAL_MACHINE
这个根键存储的是安装在当前计算机上的硬件和软件配置信息,比如硬件设备的驱动程序,特定软件设置和Windows系统安装配置等数据。这些信息对当前系统中的所有用户均保持一致。这个根键下面还有5个重要的主键,其中Software和System最为关键,平时对系统进行相关调整大多集中在这两个键上。
①Software子键:保存于这台电脑中安装的应用程序和相关的设置,许多应用程序都使用该键值保存特定设置。关于Windows的许多设置都存在于HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion中。
②System子键:在这里精确的确定了Windows所装载的设备驱动程序和服务,以及当Windows启动时所使用的各种参数(如在网络上的计算机名称和当前硬件配置恩见)。
⑵HKEY_USERS
HKEY_USERS包含有电脑特定用户的配置数据,Windows在此根键下的一个子键中为登陆该电脑的每个用户存储配置数据。如果电脑只有一个用户使用,那么所看到的就是单独一个子键,称为“.DEFAULT”
而HKEY_USERS\S-1-5-21-1078081533-1202660629-1343024091-500(不同的电脑不一样)则是当前登陆用户的配置数据,其中S-1-5-21-1078081533-1202660629-1343024091-500就是这个目前登陆用户的SID,每一个网络上的用户都被域用户管理器分配了一个SID,每个SID是唯一的,所以它依赖于登陆用户,其分支数据是从用户配置文件的Ntuser.dat文件调出的。
3.改头换面我也认识你
前文提到只有HKEY_LOCAL_MACHINE和HKEY_USERS是才真正的注册表键。也就是说如果更改了其它别名分支中的某个键或键值,那么在HKEY_LOCAL_MACHINE和HKEY_USERS也会做出相应更改,通常我们还可将它们称为“别名”,下面是这些别名的实际位置:
①HKEY_CLASSES_ROOT--HKEY_LOCAL_MACHINE\SOFTWARE\Classes的别名。包含有文件类型和程序之间的关联。
②HKEY_CURRENT_USER--HKEY_USERS一个分支别名,该分支包含有当前登陆用户的配置数据,如果是单一用户HKEY_CURRENT_USER则指向HKEY_USERS\.DEFAULT
③HKEY_CURRENT_CONFIG
--HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Hardware Profiles\Current的别名,其中ControlSet001还有可能是ControlSet000,ControlSet002等,它包含当前的硬件配置。
{ad}附表1 HKEY_USERS部分重要分支说明
.DEFAULT\AppEvents ------- 列出了事件相应,描述和各种系统功能的声音
.DEFAULT\Console ------- 保存了MS-DOS窗口的选项,布局,荧屏颜色和字体设置
.DEFAULT\Control Panle ------- 所有在控制面板里配置设置的信息全保存在这个键和它的子键中
.DEFAULT\Environment ------- 保存了环境变量设置,特定的临时文件位置
.DEFAULT\Keyboard Layout ------ 保存的是键盘布局设置,其中默认设置是美国传统键盘布局
.DEFAULT\Software ------保存软件的安装设置,缺省用户只有微软生产的软件的设置
SID\Network ------ 所有连接到其他系统的映射配置
SID\Printers ------ 所有安装,共享和连接的打印机配置
SID\Sofeware ------单独的用户扩展,基于为用户或者被用户安装的其他软件。
附表2
HKEY_CLASSES_ROOT
配置单元包含的子项,列出了当前已计算机上注册的所有COM服务器和与应用程序相关的所有文件扩展名。
HKEY_CURRENT_USER
保存着当前登陆到由这个注册表服务的计算机机上的用户配置文件,其中子项包含环境变量,个人程序组,桌面设置,网络连接,打印机和应用程序首选项
HKEY_LOCAL_MACHINE
保存操作习用及硬件相关信息的配置单元,是一个公共配置信息,与具体用户无关
HKEY_USERS
包含的子项,含有当前计算机上所有的用户配置文件
HKEY_CURRENT_CONFIG
包含的子项,列出了计算机当前会话的所有硬件配置信息
HKEY_DYN_DATE
包含系统硬件的当前状态,也包含了那些需要更新和检索的数据,此键只存在于Windows 98/ME 系统中。
网友评论