Windows系统注册表初步

以 windows7 为例,其注册表包含 5 大根键,分别是 HKEY_CLASSES_ROOT、HKEY_CURRENT_USER 、HKEY_LOCAL_MACHINE、HKEY_USERS、HKEY_CURRENT_CONFIG,其布局如下图所示,

20141214_1

虽然在注册表中,这些根键看上去处于一种并列的地位,彼此毫无关系。但事实上,他们之间有明确的等级关系的。

总体上,注册表中的信息可以直观分为两个大类:

  • HKEY_LOCAL_MACHINE
    代表针对机器本身的信息,任何变更均是针对机器级的修改,一般产生全局影响。
    它下面包含了:

    • HKEY_CLASSES_ROOT
    • HKEY_CURRENT_CONFIG
  • HKEY_USERS
    代表针对用户的信息,用户有多个,对不同用户的修改只影响该用户本身。
    它下面包含了:

    • HKEY_CURRENT_USER

20141214_2

实际上,HKEY_LOCAL_MACHINE\SOFTWARE\Classes 就是 HKEY_CLASSES_ROOT,为了用户便于查看和编辑,系统专门把它作为一个根键。同理,HKEY_CURRENT_CONFIG\SYSTEM\Current Control 就是HKEY_LOCAL_MACHINE\SYSTEM\Current Control。

HKEY_USERS中保存了系统中各个用户的信息,而HKEY_CURRENT_USER中保存了当前登录用户的用户信息。

由此可见,windows 注册表是一个动态的数据库,其随着当前登录用户的不同而有所变化,登录的用户不同,HKEY_CURRENT_USER 就有所不同。如此特点就可以让我们针对不同用户做出不同的有针对性的配置部署。在不同用户状态下对其自身的 HKEY_CURRENT_USER 或在统一状态下对 HKEY_USERS 中的对相应用户的注册表键进行修改,就可实现定制化需求。

一个典型的例子即可参见前文《Windows 7下隐藏驱动器(ZZ)》,其中对注册表修改的相关内容即很好体现了上述特点。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注