[转载] 注册表实用详解(1)

来源:互联网 发布:压力对大学生好处 数据 编辑:程序博客网 时间:2024/05/20 06:09
一、注册表基础
微软采用注册表来统一管理软硬件配置,从而大大提高了系统的稳定*和安全*,同时也使我们能更容易的对系

统进行维护和管理。

(一)注册表基础ABC

  总的来说注册表实际上是一个庞大的数据库,它包含了应用程序和系统软硬件的全部配置信息,初始化信

息及其它重要数据。从一般用户的角度看,注册表系统由两部分组成:注册表数据库和注册表编辑器。其中注册

表数据库包括两个文件:System.dat和User.dat。前者是用来保存计算机的系统信息,如安装的硬件和设备驱动

程序的有关信息等;后者则是用来保存每个用户特有的信息,如桌面设置、墙纸或窗口的颜色设置等。它们一般

都放在C盘Windows目录下。同时,微软为了防止注册表文件的损坏,特地准备了两个备份文件System.da0和

User.da0(文件类型是.da),也是放在C盘Windows目录下。
  在Windows 98中还有一个专门用来储备备份文件的文件夹,即C:\Windows\Bak,相比之下,注册表编辑器

是用来对注册表进行各种编辑的工具。你可以在“开始”菜单中点击运行,在运行的对话框中填入“Regedit"

即可看到注册表编辑器。
  如果你在“系统配置实用程序"的启动项里发现ScanRegistry前的小勾没有被去掉的话,那么系统每天会自

动调用Scanreg.exe对注册表备份一次,备份后的注册表被打成cab包,放在C:\Windows\sysbckup目录下,文件

名为rb00x.cab并且被加上隐藏属*的就是(一般有五个)。
  下面让我们具体看看系统预定义的六个主关键字(即根键)吧:
  (1)HKEY_CLASSES_ROOT:基层类别键,定义了系统中所有已经注册的文件扩展名、文件类型、文件图标等。
  (2)HKEY_CURRENT_USER:定义了当前用户的所有权限,实际上就是HKEY_USERS\.Default下面的一部分内容

,包含了当前用户的登录信息。
  (3)HKEY_LOCAL_MACHINE:定义了本地计算机(相对网络环境而言)的软硬件的全部信息。当系统的配置和设

置发生变化时,其下面的登录项也会随之改变。
  (4)HKEY_USERS:定义了所有的用户信息,其中部分分支将映射到HKEY_CURRENT_USER关键字中,它的大部分

设置都可以通过控制面板来修改。
  (5)HKEY_CURRENT_CONFIG:定义了计算机的当前配置情况,如显示器、打印机等可选外部设备及其设置信息

等。它实际上也是指向HKEY_LOCAL_MACHINE\Config结构中的某个分支的指针。
  (6)HKEY-DYN-4DATA:定义了系统运行中的动态数据,即已发生的事件的有关信息。它不仅包含系统硬件

的当前状态,也包含了那些需要更新和检索的数据。系统每次启动时都要创建此关键字。
  另外,每个根键再由若干主键组成,键名代表一特定的注册项目,键值可分为字符串值、二进制值和DWORD

值,都能用注册表编辑器进行修改。
  Windows的注册表是控制系统启动、运行的最底层设置,其文件就是System.dat和User.dat,它们不仅至关

重要,而且极其脆弱.

(二)修改注册表的基本方法 

  在注册表文本文件的首行必须用命令字符串 “REGEDIT”,其作用是通知系统调用regedit来完成注册信息

的合并工作。 接下来的每一行或代表一个键值的声明或者为注释*的说明信息。
  主键及其默认键值的声明格式为:
  根键\一级主键\二级主键\......=默认键值
  例如,欲在根键HKEY_CLASSES_ROOT的“*”主键下添加一个“压缩”主键,以便通过上下文菜单直接压缩

选定的文件,其主键的声明如下:
  HKEY_CLASSES_ROOT\*\shell\压缩 (&U)\command = C:\dos\arj.exe a Temp$%1 其中,“shell”和

“command”都是固定的,不能更改和替换,“shell”指明将要为上下文菜单中添加命令, “command”指明

具体的命令行信息。另外还要注意,在等号右边的键值字符串中, 如果要指明文件的路径,其中的“\”字符

要使用“\\"代替,等号的前后还要添加一个起分隔作用的空格。
  凡是用分号开头的行,均为说明信息行,用户可以利用说明行给文件中的命令给予必要的注解,使命令便

于理解。
  使用任何一个编辑器,编辑生成一个包含一系列主键声明行、说明行的列表,并将文件保存为以“.reg”

为扩展名的文本文件,即创建了一个注册表文本文件。
0 0