Windows注册表的基本知识及应用
一、注册表的重要性
在DOS年代,对计算机的内存管理及系统配置主要通过AUTOEXEC.BAT和CONFIG.SYS来完成。从WINDOWS3.x开始,对系统的管理增加了大量的*.ini文件来登录软件及硬件的各种初始化信息。这为系统管理带来了灵活性,也带来了不便之处。因为每个应用程序都有自己的ini文件,并在Win.ini中增加了自己的配置项,这使ini文件众多,且Win.ini日益庞大。
从Windows95开始,原来保存在初始化文件中的有关信息,都被移到了系统的注册表中,注册表(Registry)实质上是一个庞大的分层数据库,它存储着下面这些内容:
软、硬件的有关配置和状态信息,应用程序和资源管理器外壳的初始条件、首选项和卸载数据;
电脑整个系统的设置和各种许可,文件扩展名与应用程序的关联,硬件的描述、状态和属性;
电脑性能记录和底层的系统状态信息,以及各类其他数据。
由上可见,注册表是WINDOWS的命根子,注册表文件的损坏、设置错误,将会导致应用程序无法运行、系统出错,直至系统崩溃或无法启动。
二、注册表的结构
Windows98的注册表是由二进制数据组成,以一个树形结构分布。注册表主要由以下两个文件组成:
System.dat(存储与用户无关的系统配置信息,包括硬件配置、软件的安装等)
User.dat(存储与用户有关的信息以及特定于某个用户的应用程序安装信息 ),
这两个文件一般保存在Windows所在的文件夹中,另外还有这些文件的备份*.da0( Windows系统在每次系统的配置改变时都会自动进行备份,生成System.da0和User.da0文件)。
Windows为我们提供了一个注册表编辑器(Regedit.exe)的工具,它可以用来查看和维护注册表。单击“开始”菜单,选择“运行”项,在“打开”栏中输入“regedit”,确定,即可打开注册表。
注册表编辑器与资源管理器的界面相似。左边窗格中,从“我的电脑”开始,以下是六个分支,其含义简述如下:
u HKEY_CLASSES_ROOT:此处存储的信息可以确保当使用Windows资源管理器打开文件时,将使用正确的应用程序打开对应的文件类型。
u HKEY_CURRENT_USER:存放当前登录用户的有关信息。用户文件夹、屏幕颜色和“控制面板”设置存储在此处。该信息被称为用户配置文件。
u HKEY_LOCAL_MACHINE:包含针对该计算机(对于任何用户)的配置信息。
u HKEY_USERS:存放计算机上所有用户的配置文件。
u HKEY_CURRENT_CONFIG:包含本地计算机在系统启动时所用的硬件配置文件信息。
u HKEY_DYN_DATA:记录系统运行时刻的状态。
注册表按层次结构来组织,六个分支名都以HKEY开头,称为主键(KEY),这和资源管理器中的文件夹相似,表示主键的图标与文件夹的图标一样。每个主键图标的左边有一个“+”号图标,单击可将这一分支展开,展开后可以看到主键还包含次级主键(SubKEY)。当单击某一主键或次主键时,右边窗格中显示的是所选主键内包含的一个或多个键值(Value)。
键值由键值名称(ValueName)和数据(ValueData)组成,这就是右窗口中的两个列表(名称、数据)所表示的。主键中可以包含多级的次级主键,注册表中的信息就是按照多级的层次结构组织的。每个分支中保存电脑软件或硬件之中某一方面的信息与数据。
三、注册表中的键值项数据
注册表通过键和子键来管理各种信息。但是注册表中的所有信息都是以各种形式的键值项数据保存的。在注册表编辑器右窗格中显示的都是键值项数据。这些键值项数据可以分为三种类型:
1.字符串值
在注册表中,字符串值一般用来表示文件的描述和硬件的标识。通常由字母和数字组成,也可以是汉字,最大长度不能超过255个字符。
2.二进制值
在注册表中二进制值是没有长度限制的,可以是任意字节长。在注册表编辑器中,二进制以十六进制的方式表示。
3.DWORD值
DWORD值是一个32位(4个字节)的数值。在注册表编辑器中也是以十六进制的方式表示。
四、注册表应用
(一)注册表的备份和恢复
由于注册表文件对计算机有着至关重要的作用,因此应当定期进行备份。备份注册表的方法为:打开注册表,在注册表菜单中选择“导出注册表文件”命令,在“导出注册表文件”对话框中,选择保存位置并取一文件名,在导出范围中选择全部(即对整个注册表进行备份)或者再选择的分支中输入要备份的分支,最后点击“保存”按钮即可。
恢复注册表的方法很简单:打开注册表,注册表菜单中选择“引入注册表文件”命令,选择所要引人的以前备份的注册表文件,单击“打开” 按钮即可。
(二)注册表的DOS恢复法
有时由于注册表的损坏原因,Windows无法启动或工作出错,这时你可在DOS方式下恢复Windows系统自动备份的某一个注册表,就可恢复Windows系统正常,方法如下:
1. 用系统软盘启动进入(如Windows还能启动,则并切换到)MS-DOS方式。
2. 进入Windows/Command目录,输入SCANREG/RESTORE后回车。
3. 进入界面后,可在5个注册表备份中选取所要恢复的,重新启动后即可。
(三)清除多余的DLL文件
在Windows系统的System子目录下存有大量的DLL文件,这些文件可能被系统或应用程序共享。但是由于经常安装和卸载软件,就会在System目录下留下一些DLL垃圾文件。它们不但占用了硬盘空间,而且还降低系统的运行速度。
你要识别、删除那些没有被系统或应用程序所共享的DLL文件,可运行“regedit”,打开注册表编辑器,找到HKEY_LOCAL_MACHINE/Software/Microsoft/Windows
/CurrentVersion/SharedDLLs分支,在SharedDLLs子键中,记录的就是有关程序共享的DLL信息,每个DLL文件的键值说明它已被几个应用程序共享。如果是二进制键值为“00 00 00 00”,则表明不被任何程序共享,可以将其删除,退出注册表编辑器,并在System目录中删除对应的文件。(你要较全面自动清除注册表中垃圾文件,可用“超级兔子”软件进行注册表优化,有关“超级兔子”软件情况,你可进入www.superrsoft.com 网站)。
(四)启动计算机时必须登录
Windows98在启动时有一个登录对话框,要求用户选择用户名及输入密码,但这并没有多大的作用,任何用户都可以单击“取消”键而启动计算机。通过修改注册表,就可以使Windows在启动时,用户必需输入密码才能登录,从而防止非法用户使用计算机,具体修改方法如下:
在注册表中找到HKEY_LOCAL_MACHINE/Network/Logon 键,在右边窗口中单击鼠标右键,新建一DWORD值,并命名为MustBevalidated,将其值改为ll1lllll,这样,在启动计算机时必需输入密码,否则就不能登录。
(五)启动时自动运行某一程序
通过将某一程序其添加到开始菜单里的“启动”菜单项上,计算机在启动时会自动运行这个程序,这种做法很容易被其它用户改变,因为只需将其移出即可达到删除这一启动命令的目的。
通过将很有必要在启动时运行的程序放入注册表,就可以做到使别人难以进行修改。
具体方法为,在注册表中找到 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows/
CurrentVersion\Run键,在右边妁窗口中就可以看到Windows启动时所要执行的命令,我们可以将希望Windows在启动时执行的命令加入到其中即可。同样也可删除不希望Windows在启动时运行的命令。
(六)扩充鼠标右键的功能
启动计算机后,当我们在资源管理器中用右键单击某一驱动器、文件夹或文件时一般都会弹出一份快捷菜单,其中包含几个常用的命令选项。我们可以通过修改注册表,来增加或删除这些命令。例如,要为驱动器增加一杀毒命令,其具体操作方法为,在注册表中找到HKEY_LOCAL_MACHINE/Software/CLASSES/Drive键,用鼠标右键单击其下的shell子键,新建一主键,将其命名为“杀毒”,然后用鼠标右键单击刚刚建立的“杀毒”键,为其新建一主键,命名为command,再在右边窗口中修改其键值,即输入要执行的命令,例如:“D∶\RXSD\RAV\rav.exe"%1"”,这样,当在资源管理器中用右键单击驱动器时,弹出的快捷菜单中就包含了“杀毒”这一选项。同样,对文件夹进行操作时,只需找到HKEY_LOCAL_MACHINE/Software/CLASSES/Folder键,而对于文件,则要找到HKEY_LOCAL_MACHINE\Software/CLASSES\file键,后面的操作方法同上。
最后,我向大家提供一个小工具—— 一个VBScript脚本文件,当你有一天要修改注册表,运行“regedit”命令,试图打开注册表时,突然跳出一个警告:“注册表被管理员禁止!”,不让你打开注册表!(这下你可惨了,命根子竟然给人家封住了!这多数是你上网时有幸“中毒”了。),这时你只要运行一下这个VBScript脚本文件就可解开注册表。你可在Windows的记事本中输入以下文本:
DIM WSH
SET WSH=WSCRIPT.CREATEOBJECT("WSCRIPT.SHELL")
WSH.POPUP ("将为您解开注册表!")
WSH.REGWRITE "HKCU/SOfTWARE/MICROSOFT/WINDOWS/CURRENTVERSION/POLICIES/SYSTEM/DISABLEREGISTRYTOOLS",0,"REG_DWORD"
WSH.POPUP ("SUCCESSFULLY!")
输入完后,保存时取一文件名,文件扩展名为VBS即可。
Windows注册表的基本知识及应用相关推荐
- Windows注册表的读写操作
目录 1 注册表(Registry)介绍 1.1 注册表简介 1.2 注册表位置 1.3 开启/禁用 注册表编辑器 1.4 注册表的结构 1.5 修改注册表实例 2 程序中对注册表的读写操作 2.1 ...
- Windows注册表修改实例完全手册(下)
注 册表是Windows操作系统的核心.它实质上是一个庞大的数据库,存放有计算机硬件和全部配置信息.系统和应用软件的初始化信息.应用软件和文档文件的 关联关系.硬件设备说明以及各种网络状态信息和数据. ...
- Windows注册表及常见子项
Windows注册表五大根键以及常用注册表项 注册表概述:注册表是Windows操作系统.硬件设备以及客户应用程序得以正常运行和保存设置的核心"数据库",也可以说是一个非常巨大的树 ...
- 10#Windows注册表的那些事儿
引言 用了多年的Windows系统,其实并没有对Windows系统进行过深入的了解,也正是由于Windows系统不用深入了解就可以简单上手所以才有这么多人去使用.笔者是做软件开发的,使用的基本都是Wi ...
- 注册表关闭命令提示符_如何从命令提示符下编辑Windows注册表
注册表关闭命令提示符 Windows and a lot of third-party apps store settings in the registry. If you're wanting t ...
- Windows注册表脚本文件(简介、添加、修改、删除)
简介 我们平时大多采用Regedit注册表编辑器来实现对注册表的修改操作,但是这种手工操作费时费力,当你要对多台PC统一修改注册表时,就要怨念了.并且在某些情况下,如果注册表编辑器被禁用了,那么这种方 ...
- 视频教程-C#对Windows注册表的操作-C#
C#对Windows注册表的操作 二十多年的企业管理软件开发经历,熟知管理软件的整个开发流程,熟练掌握VFP语言,掌握VB语言,了解JAVA.asp.net.CSS.HTML/HTML5等语言,使用C ...
- windows 注册表脚本文件 添加 修改 删除 简介
目录 1. 简介 2. 创建REG文件 3. REG语法 3.1 基本语法 3.2 删除操作语法 3.3 重命名操作语法 4. 编辑REG文件 5. 补充知识 1. 简介 我们平时大多采用Regedi ...
- Windows注册表的那些事儿
引言 用了多年的Windows系统,其实并没有对Windows系统进行过深入的了解,也正是由于Windows系统不用深入了解就可以简单上手所以才有这么多人去使用.笔者是做软件开发的,使用的基本都是Wi ...
最新文章
- Case study:数据库网页构建原理和实践
- 组网中交换机虚拟化技术的应用
- linux c select 设置超时
- TreeView复选框选择逻辑判断
- java连接sqlserver2008_java连接sqlserver2008驱动包
- linux下升级python2.0到python3.0
- 【转】[程序集清单定义与程序集引用不匹配]分析及解决
- 草稿 9206 1128需处理
- SEO学习步骤--SEO入门第一章
- python if条件判断语句
- Android--android 中自定义菜单
- 阶段1 语言基础+高级_1-3-Java语言高级_04-集合_02 泛型_3_定义和使用含有泛型的类...
- 方法:如何解决NetShareEnum返回ERROR_NO_UNICODE_TRANSLATION(1113)的问题
- XPS数据分析问题收集及解答
- 激光雷达的障碍物检测
- 从写博到出书:过程全记录
- 聚石塔,御城河接入,御河城安全整改demo
- DirectX11(二)
- Flash应用之百宝箱
- bat批处理与adb命令的配合