我教你学之注册表根键
在我们介绍过注册表的基本结构后,很容易知道根键是注册表的基础。那么,就先让我们来看一下Windows XP中五个根键相互之间有些怎样的联系,在计算机开机的初始化过程中又为何如此重要呢。
可以说,在Windows XP注册表里,所有的信息都是保存在“配置单元”或者“根键”中的,所有注册表条目都需要在配置单元的子键分支下面表现出来,以进行查看和编辑。
通过使用根键,可以让用户更容易地控制Windows XP注册表。其中的一部分根键与根键下面的某些子键有着密切的关系。例如,HKEY_CLASSES_ROOT和HKEY_LOCAL_MACHINE根键的Classes子键下面的内容完全相同,由于其重要而特殊的地位将它单独分离出来,方便了管理,查看也一目了然;又如HKEY_CURRENT_CONFIG和HKEY_LOCAL_MACHINE根键下的SystemCurrentControlSetHardware ProfilesCurrent子键下面的内容完全相同。
HKEY_CURRENT_USER根键内容与HKEY_USERS根键部分内容相同,在启动Windows XP时,系统将HKEY_USERS中的部分内容复制到HKEY_CURRENT_USER根键中,采用SID标识来产生映射关系。
现在,让我们再来看看每个根键单独包含的信息吧。
一. HKEY_CLASSES_ROOT根键
HKEY_CLASSES_ROOT根键包含了启动应用程序所需的全部信息,其中包括:
- 所有扩展名以及应用程序和文档之间的关联信息。
- 所有驱动程序的名字。
- 当作指针的字符串,指向它们代表的实际文件。
- 类标识CLSID,这在访问子键信息时非常有用,因为Windows中访问子键的信息都是用CLSID来代替的。这里的标识在Windows XP系统中是唯一的。
- DDE和OLE信息。对于每个文件关联都可以使用DDE和OLE功能。
- 应用程序和文档使用的图标。
二. HKEY_CURRENT_USER根键
HKEY_CURRENT_USER根键用于管理与当前登录系统的用户有关的信息,其中包括:
- 用户的桌面以及Windows XP对用户呈现的外观和行为。
- 与所有网络设备的连接,如打印机、共享磁盘空间等资源。
- 桌面程序项、应用程序参数选择项、屏幕颜色等其它一些个人偏好,还有安全权限等。
三. HKEY_LOCAL_MACHINE根键
HKEY_LOCAL_MACHINE根键保存了运行Windows的信息,包括应用程序、驱动程序以及硬件信息。它有5个独立的子键:
- HARDWARE:其中保存了含有计算机硬件信息的子键。在启动系统时,HARDWARE子键都被重新创建,这样就很容易向系统中添加新硬件了。用户对HARDWARE子键进行的修改没有任何意义也不会生效,更不用像通过其中的CPU信息实现超频了。因为它是系统根据硬件信息在启动时自己填写的,而不是根据它的数据去启动硬件。HARDWARE下的4个子键中含有CPU、FPU、系统总线、基于PCI总线的设备、即插即用总线、高级控制电源接口、键盘、打印机端口、鼠标、屏幕等信息,有些信息(如高级控制电源接口)要在BIOS中打开才能看到。
- SAM:这是一个关于安全帐号管理器的子键,其中存储着用户信息和域信息。无论是哪种注册表,SAM中的信息都是不可访问的,只能由系统管理员通过用户管理器进行管理。
- SECURITY:这里的信息与本地安全性和用户权限有关,其中含有SAM子键的备份。它也是用户不能访问的,只能由系统管理员的管理工具修改。
- SOFTWARE:其中包含了已经安装的系统软件和用户软件信息。
- SYSTEM:其中含有与系统启动、设备驱动程序、服务和Windows XP配置有关的信息。
四. HKEY_USERS根键
HKEY_USERS中包含着所有用户配置文件的当前活动用户信息。其中的.DEFAULT是为那些没有用户配置文件的登录用户而设置的。HKEY_USERS中典型的用户配置文件都包括如下一些子键:
- AppEvents:其下的EventLabels包括与事件有关的信息,而Schemes则包括一些针对自己使用特定声音方案的应用程序的标签。
- Console:包含缺省的命令提示符配置。
- Control Panel:包含控制面板上的小程序信息。
- Environment:包含用户的环境信息。
- Keyboard Layout:包含键盘配置信息。
- Printers:包含与计算机相连的每一台远程打印机的映射信息。
- Software:包含系统中已安装的软件信息。
- UNICODE Program Groups:包含的是关于那些使用UNICODE的程序信息。
五. HKEY_CURRENT_CONFIG根键
HKEY_CURRENT_CONFIG根键是HKEY_LOCAL_MACHINE中的内容映射。如果系统中只有一个硬件配置,则其中的数据是和HKEY_LOCAL_MACHINE中一样的。若向系统中新建了一个硬件配置(控制面板|系统|硬件配置文件),就会在HKEY_LOCAL_MACHINE中反映出来,在启动时会选择一种配置文件映射到HKEY_CURRENT_CONFIG中。