注册表详解vb

来源:百度文库 编辑:神马文学网 时间:2024/03/29 14:28:35
注册表详解
1.注册表是什么
注册表(Registry)是微软公司从Windows95系统开始,引入用于代替原先Win32系统里.ini文件,管理配置系统运行参数的一个全新的核心数据库。它与老的win32系统里的ini文件相比,具有方便管理,安全性较高、适于网络操作等特点。
注册表整合集成了全部系统和应用程序的初始化信息。它存储下面这些内容:
(1)软、硬件的有关配置和状态信息,应用程序和资源管理器外壳的初始条件、首选项和卸载数据;
(2)计算机的整个系统的设置和各种许可,文件扩展名与应用程序的关联,硬件的描述、状态和属性;
(3)计算机性能纪录和底层的系统状态信息,以及各类其他数据。
2.编辑注册表的工具---Regedit.exe。
Regedit可对注册表进行添加、修改主键、键值,备份注册表,局部导入导出注册表等操作。
启动方法:开始菜单→运行,所在对话框中输入regedit(WINNT输入REGEDIT32.EXE)并点确定。
3. 注册表的结构
在Windows中,注册表由两个文件组成:System.dat和User.dat,保存在windows所在的文件夹中。它们是由二进制数据组成。
System.dat包含系统硬件和软件的设置。
User.dat保存着与用户有关的信息,例如资源管理器的设置,颜色方案以及网络口令等等。
注册表编辑器与资源管理器的界面相似。左边窗格中,由“我的电脑”开始,以下是六个分支(WINNT只有前面5个),每个分之名都以HKEY开头,称为主键(KEY),展开后可以看到主键还包含次级主键(SubKEY)。当单击某一主键或次主键时,右边窗格中显示的是所选主键包含的一个或多个键值(Value)。键值由键值名称(Value Name)和数据(Value Data)组成。主键中可以包含多级的次级主键,注册表中的信息就是按照多级的层次结构组织的。
注册表中各分支的功能
HKEY-CLASSES-ROOT
文件扩展名与应用的关联及OLE信息
HKEY-CURRENT-USER
当前登录用户控制面板选项和桌面等的设置,以及映射的网络驱动器
HKEY-LOCAL-MACHINE
计算机硬件与应用程序信息
HKEY-USERS
所有登录用户的信息
HKEY-CURRENT-CONFIG
计算机硬件配置信息
HKEY-DYN-DATA(*)
即插即用和系统性能的动态信息
OLE(Object Linking and mbedding--对象连接与嵌入)
4.注册表中的键值项数据
注册表通过键和子键来管理各种信息。但是注册表中的所有信息都是以各种形式的键值项数据保存的。在注册表编辑器右窗格中显示的都是键值项数据。这些键值项数据可以分为三种类型:
(1)字符串值
字符串值一般用来表示文件的描述和硬件的标识。通常由字母和数字组成,也可以是汉字,最大长度不能超过255个字符。
(2)二进制值
二进制值是没有长度限制的,可以是任意字节长。在注册表编辑器中,二进制以十六进制的方式表示。
(3)DWORD值
DWORD值是一个32位(4个字节)的数值。在注册表编辑器中也是以十六进制的方式表示。
5.注册表的备份与恢复
如果注册表遭到破坏,Windows将不能正常运行,为了确保Windows系统安全,我们必须经常的备份注册表。
备份
(1)直接进行备份及恢复
将System.dat及User.dat拷贝存放,恢复时再将该备份替换覆盖回原处,在备份及恢复时都需对这两个文件的只读及隐藏属性进行相应的修改操作。
(2)利用Windows中的注册表编辑器(Regedit.exe)进行备份
运行Regedit.exe,单击“文件“-->“导出注册表文件“命令,选择保存的路径,保存的文件为*.reg,可以用任何文本编辑器进行编辑。
(3)用Windows 98中自带的注表自动备份功能
Windows 95每次正常启动时,都会对注册表进行备份,System.dat备份为System.da0,User.dat备份为User.da0。它们存放在Windows所在的文件夹中,属性为系统和隐藏。
Windows 98中,是一个以.Cab(Cabinet)作后缀的压缩文件作为注册表备份的功能。备份:在用户当天第一次开机时,Windows 98将会自动将系统中原有的注表信息,包括System.dat和User.dat,甚至还包括了System.ini和Win.ini这四个文件都压缩成Cab形式的文件,以rb00*.cab之名存放在Windows\Sysbckup目录下(其中*为0—4的数字)。系统自动保存最近5天开机(注意不是5天)的注册表数据,超过5开机天时则自动挤掉最早日期的备份文件。
恢复:
当注册表损坏时,启动时Windows95会自动用System.dat和User.dat的备份System.da0和User.da0进行恢复工作,Windows 98用其自带的Extract.exe(在Windows\command目录下)解开该压缩文件恢复替换回原注册表文件即可,也可用其他第三方解压缩程序如Winzip7.0等解开所需之rb00*.cab备份压缩文件覆盖回去。
如果不能自动恢复,可以运行Regedit.exe(它可以运行在在Windows下或DOS下),导入.reg备份文件。
6.注册表修改方法
(1)软件修改(安全)
通过一些专门的修改工具来修改注册表,比如:MagicSet、TweakUI、WinHacker等等。其实控制面板就是一个这样的工具,只不过功能简单一些。
(2)间接修改(比较安全)
将要修改的写入一个.reg文件中,然后导入注册表中。.reg文件的基本格式为:
REGEDIT4
[HKEY_LOCAL_MACHINE\Software\Super Rabbit\MagicSet]
"@"="Super Rabbit Magic Set For Windows 98 V2.92"
"a"=dword:00000001
"b"=hex:02,05,00,00
……
第一行为“REGEDIT4”,必须大写。
第二行为空行。
第三行使用[]括起子键分支,其中HKEY_LOCAL_MACHINE\Software\Super Rabbit\MagicSet就是一个子键分支。
第四、五、六……行子键下的设置数据。其中@表示注册表编辑器右窗格中的“默认”。
以下类似。
这样做的好处是可以避免错误的写入或删除等操作,但是要求用户了解注册表的内部结构和.reg文件的格式。
(3)直接修改(最不安全,但最直接有效)
通过注册表编辑器直接修改注册表的键值数据项,这样做会避免在注册表中留下垃圾(虽然都很小,但越来越多会拖慢系统速度),但是要求用户有一定的注册表知识,熟悉注册表内部结构而且一定要小心谨慎。