注册表详解

来源:互联网 发布:苹果手机图片导入mac 编辑:程序博客网 时间:2024/05/21 09:25

http://hi.csdn.net/fjptlzx

为了方便了解注册表,该文章来自转贴,贴址:http://blog.sina.com.cn/s/blog_50d6f3fb01008zmo.html (这个是不是原创的就未做探究)

一、什么是注册表

    注册表是2000/XP操作系统、硬件设备以及客户应用程序得以正常运行和保存设置的核心“数据库”,也可以说是一个非常巨大的树状分层结构的数据库系统。

    注册表记录了用户安装在计算机上的软件和每个程序的相互关联信息,它包括了计算机的硬件配置,包括自动配置的即插即用的设备和已有的各种设备说明、状态属性以及各种状态信息和数据

    利用一个功能强大的注册表数据库来统一集中地管理系统硬件设施、软件配置等信息,从而方便了管理,增强了系统的稳定性。

二、注册表的功能

     刚才我们看到了,注册表中记录了用户安装在计算机上的软件和每个程序的相关信息,通过它可以控制硬件、软件、用户环境和操作系统界面的数据信息文件。

    相关知识:注册表文件的数据信息保存在system.dat和user.dat中、利用regedit.exe程序能够存取注册表文件(其实大家可能也知道regedt32.exe,这两个程序是一样的)

三、编辑器说明

   在“开始——运行”里键入regedit就可以打开注册表编辑器了。

   根键:以HKEY开头的某一项的句柄

   键:附加的文件夹和一个或多个值

   子键:在某一个键(父键)下面出现的键(子键)

   键值:带有一个名称和一个值的有序值,每个键都可包括任何数量的键值,键值由三个部分组成:名称、数据类型和数据。

说明:

    1、名称:不包括反斜线的字符、数字、代表符和空格的任意组合。同一键中不可有相同的名称。

    2、数据类型:包括字符串、二进制和双字节等

    3、数据:值项的具体值,它的大小可以占用64KB

四、总体结构分析

    注册表包括以下5个根键

    1.HKEY_CLASSES_ROOT

    说明:该根键包括启动应用程序所需的全部信息,包括扩展名,应用程序与文档之间的关系,驱动程序名,DDE和OLE信息,类ID编号和应用程序与文档的图标等。

    2.HKEY_CURRENT_USER

    说明:该根键包括当前登录用户的配置信息,包括环境变量,个人程序以及桌面设置等

    3.HKEY_LOCAL_MACHINE

    说明:该根键包括本地计算机的系统信息,包括硬件和操作系统信息,安全数据和计算机专用的各类软件设置信息

    4.HKEY_USERS

    说明:该根键包括计算机的所有用户使用的配置数据,这些数据只有在用户登录系统时才能访问。这些信息告诉系统当前用户使用的图标,激活的程序组,开始菜单的内容以及颜色,字体

    5.HKEY_CURRENT_CONFIG

    说明:该根键包括当前硬件的配置信息,其中的信息是从HKEY_LOCAL_MACHINE中映射出来的。

六、根键  HKEY_CLASSES_ROOT

    我们知道,在这一个根键中记录的是WINDOWS操作系统中所有数据文件的信息内容,主要记录了不同文件的文件扩展名和与之相对应的应用程序。这就是为什么我们双击某一个文档的时候,可以由系统自动调出应用程序的所在了。

    这个根键的子键当大家展开时发现是非常多的,它主要分为两种:一是已经注册的各类文件的扩展名;一是各种文件类型的有关信息。

    下面我们以AVIFILE举例说明一下其下面的子项的含义:

1、CLSID:分类标识,系统可以用这个类标识来识别相同类型的文件

2、Compressors:它下面有两个子项

    auds:用于设置音频数据压缩程序的类标识

    vids:用于设置视频数据压缩程序的类标识

3、defaultlcon:用于设置默认图标,这个大家可以改一下试试

4、RIFFHandlers:在它的下面有两个类标识

    AVI:用于设置AVI文件的类标识

    WAVE:用于设置WAVE文件的类标识

5、protocol:包括了执行程序和编辑程序的路径和文件名

    StdExecute(stdfileediting)_server:用于指定编辑程序

    StdExecute(stdfileediting)_PackageObjects:用于指定后打开AVI包对象的编辑程序

    StdExecute(stdfileediting)_verb:用于设置编辑程序时的工作状态,其中有0、1、2等状态

6、Shell子项:用于设置视频文件的外壳

     open:用于设置打开AVI文件的程序

     play:用于设置播放命令的程序

7、Shellex:包括了视频文件的外壳扩展

七、根键  HKEY_CURRENT_USER

    此根键中保存的信息(当前用户的子项信息)与HKEY_USERS_DEFAULT下面的一模一样的。任何对 HKEY_CURRENT_USER根键中的信息的修改都会导致对HKEY_USERS_DEFAULT中子项的修改

八、根键  HKEY_LOCAL_MACHINE

    此根键中存放的是用来控制系统和软件的设置,由于这些设置是针对那些使用Windows系统的用户而设置的,是一个公共配置信息,所以它与具体的用户没多大关系。

1、HARDWARE子项:该子项包括了系统使用的浮点处理器、串口等信息

     ACPI:存放高级电源管理接口数据

     DEVICEMAP:用于存放设备映射

     DESCRIPTION:存放有关系统信息

     RESOURCEMAP:用于存放资源列表

2、SAM子项:哈哈,这部分被保护了,看不到

3、SECURITY子项:该子项只是为将来的高级功能而预留的

4、SOFTWARE子项:该子项中保留的是所有已安装的32位应用程序的信息,各个程序的控制信息分别安装在相应的子项中,由于不同的计算机安装的应用程序互不相同,因此这个子项下面的子项信息也不完全一样。

5、SYSTEM子项:该子项是启动时所需的信息和修复系统时所需要的信息

    currentcontrol:保存了当前驱动程序控制集中的所有信息

九、根键  HKEY_USERS

    此根键中保存的是默认用户(default),当前登录用户和软件(software) 的信息,其中DEFAULT子项是其中最重要的,它的配置是针对未来将会被创建的新用户的。新用户根据默认用户的配置信息来生成自己的配置文件,该配置文件包括环境、屏幕和声音等多种信息,其中常用的3项有:

1、AppEvents子项:它包括了各种应用事件的列表

    EventLabels:按字母顺序列表

    Schemes:按事件分类列表

2、Control Panel子项:它包括内容与桌面、光标、键盘和鼠标等设置有关

3、Keyboard layout子项:用于键盘的布局(如语言的加载顺序等)

    Preload:语言的加载顺序

    Substitutes:设置可替换的键盘语言布局

    Toggle:用于选择键盘语言

十、根键  HKEY_CURRENT_CONFIG

    此根键存放的是当前配置的文件信息。

    我们都知道用regedit或regedit32都可以打开注册表文件,在XP系统下的时候,这两种方法其实都是一样的,当我们打开注册表

    后看到了类似资源管理器的东西,这里面都有什么呢?

HKEY_CLASSES_ROOT

HKEY_CURRENT_USER

HKEY_LOCAL_MACHINE

HKEY_USERS

HKEY_CURRENT_CONFIG

    看是五个分支,其实就是HKEY_LOCAL_MACHINE、HKEY_USERS这两个才是真正的注册表键,其它都是从某个分支映射出来的,

相当于快捷方式或是别名,这样的话看注册表就简单了许多了,现在说一下每个分支的作用:

HKEY_CLASSES_ROOT:

    列出当前计算机注册的所有COM服务器和与应用程序相关联的所有文件扩展名。

HKEY_CURRENT_USER:

    保存着当前登录到由这个注册服务的计算机上的用户配置文件。

HKEY_LOCAL_MACHINE:

    保存操作系统及硬件相关信息的配置单元,它是一个公共的配置信息与具体用户无关,其中关键是两个键值

    SOFTWARE:保存着与这台电脑中安装的应用程序相关的设置。

    SYSTEM:WINDOWS所装载的设备驱动程序以及当WINDOWS启动时所需要的各种参数。

    HKEY_USERS:包含当前计算机所有用户配置文件。

    HKEY_CURRENT_CONFIG:计算机当前会话中的所有硬件配置信息。

原创粉丝点击