初识注册表 跟我学用注册表
- 格式:doc
- 大小:231.00 KB
- 文档页数:14
初识注册表跟我学用注册表(一)注册表是Windows系统的核心,在 Windows操作系统的启动、运行过程中起着至关重要的作用,但是对于初学者来说,面对注册表往往不知所措,惟恐动一下Windows系统就无法启动了,那么不妨我们一起认识一下注册表吧,掌握注册表的应用技巧,同时还可以学会如何使用一些工具达到对注册表的优化和管理功能,因为Windows Me系统的注册表的操作和Windows 98的比较相似,而Windows XP系统的注册表的操作和Windows 2000的很相似,我们就介绍两种操作系统,大家可以举一反三。
让我们开始吧。
什么是注册表Windows的注册表存储当前系统的软、硬件的有关配置和状态信息,以及应用程序和资源管理器外壳的初始条件、首选项和卸载数据,还包括计算机的整个系统的设置和各种许可,文件扩展名与应用程序的关联,硬件的描述、状态和属性,以及计算机性能纪录和底层的系统状态信息,以及各类其他数据。
每次启动时,会根据计算机关机时创建的一系列文件创建注册表,注册表一旦载入内存,就会被一直维护着,注册表实际上是一个系统参数的关系数据库。
图1注册表的结构注册表的层次结构类似于硬盘中的目录树(如图1),只要在Window的“开始/运行”中输入“Regedit”命令,即可打开注册表编辑器。
含义解释。
在Windows 2000系统中,包括前5个根键。
(2)键分为用户定义的键和系统定义的键,这些键没有特殊的命名约定,以主“HKEY_”形式配置单元的子目录形式存在,键和子键没有附带数据,它们只负责组织对数据的访问。
图2(3)子键分为用户定义的子键和系统定义的子键。
这些子键也没有特殊的命名约定,它们是作为用户定义或者系统定义的键的子目录形式存在的。
键和子键没有相关的数据,它们只是用来组织对数据的访问。
(4)值位于结构链的末端,就像是文件系统中的文件一样。
它们包含着计算机及其应用程序执行时使用的实际数据。
注册表的基本操作(1)向注册表添加项打开注册表编辑器,将左侧窗口的树型控件定位到Software子键,然后选择“编辑/新建/项”命令,键入新注册表键的名称“mysoft”,最后按“Enter”键(如图2)。
(2)添加值在注册表编辑器中,单击想要添加新值的注册表键或键值,然后在“编辑”菜单上,指向“新建”,然后单击要添加的值的类型:“字符值”、“二进制值”或“双字节值”(如图3),输入一个新值的名称,然后按“Enter”键。
图3(3)修改与删除修改键值可以选择要更改的值,然后在“编辑”菜单上,单击“修改”命令,接着在“数值数据”框中,输入该值的新数据,最后单击“确定”。
删除注册表键或键值的方法是,单击要删除的注册表键或键值,在“编辑”菜单上,执行“删除”命令。
需要注意的是,可以从注册表中删除注册表键和键值。
但是,不能删除预定义键,比如HKEY_CURRENT_USER或更改预定义项的名称。
备份注册表错误地编辑注册表可能会严重损坏系统,所以,在更改注册表之前建议备份注册表信息。
执行“注册表”菜单里的“导出注册表文件”命令,在对话框中输入文件名regedit,默认的后缀名为.reg。
在“导出范围”下,如果要备份整个注册表,可以选择选项“全部”,如果只备份注册表树的某一分支,可以单击“选定的分支”,然后输入要导出的分支名称,比如“HKEY_CURRENT_USER\Software”,最后单击“保存”按钮(如图4)。
图4恢复部分或全部注册表的方法也很简单,在“注册表”菜单上,单击“导入注册表文件”命令,然后在打开的对话框中,查找要导入的文件,单击选中该文件,最后单击“打开”按钮即可。
当系统出现严重故障无法启动时,可以在DOS状态下恢复注册表。
在Windows 98系统中,C:\Windows\command目录下有一个scanreg程序,它主要用来扫描系统注册表,并能自动备份最近5次开机时的注册表信息。
如果因注册表设置不当导致系统崩溃无法进入Windows 98时,可以在启动时按“F8”键,在出现的菜单中选第五项进入DOS状态,然后输入如下命令:scanreg/restore,之后,选取最早一次正常开机时的注册表信息就可以恢复正常启动时的注册表了。
在Windows 2000系统中,还可以用安装程序恢复。
? 注册表编辑器的一个隐藏参数 2001/09/06 14:14 赛迪网-中国计算机报韶亚军我们知道,使用注册表编辑器可以将注册表的任何一部分导出成可以使用文本编辑器处理的注册表文件(注册表文件以.reg扩展名保存),而我们在资源管理器中双击此注册表文件时,系统会弹出对话框来让用户确认是否将此REG文件添加到注册表中。
这尽管是注册表编辑器的一个保护措施,但是有时候我们会嫌它太麻烦。
其实,只要我们单击“开始”→“运行”,然后输入“Regedit /s注册表文件名”,注册表编辑器就会“静悄悄”地将您指定的注册表文件导入到系统注册表中。
原来/s是它的一个隐藏参数,巧妙地利用此参数可以悄无声息地改变注册表的设置。
注册表的文件关联及应用(1) 2001/04/24 12:13 天极网徐喜峰喜欢使用Windows右键快捷菜单的朋友可能知道,当你选择了一个文件(或者是文件夹或是系统图标)再单击鼠标右键,系统就会弹出一个菜单,菜单上面的各种“功能”(或称“操作”)任你选择,但是你是否注意到,当你安装一些应用软件之后,你的右键菜单是不是膨胀,以winzip为例,安装winzip之后,文件或文件夹的右键菜单当中就增加了功能选择项"Add to Zip"和"Add to xxx.zip",如图1,看到这个变化,我们不禁要问,这些选择项是怎么加入的,可不可以自己来添加。
带着这些问题,我们再来看Windows的文件关联。
图1什么是文件关联呢?通俗地说,就是选择不同类型的文件时,在其右键菜单上显示的各功能项。
每个功能项即对应一个关联。
选择了某一功能(操作),系统就去执行相应的处理程序。
至于对什么文件的什么操作对应什么样的处理程序,那都记录在系统注册表中。
因此,要真正弄清文件关联,必须深入研究注册表。
这个问题解决了,我们就可以利用注册表随心所欲地为文件建立,修改,删除关联。
图2既然关联信息都写在注册表中,那么它在注册表中又是怎样构成的呢?我们不妨打开注册表,观察根键HKEY_CLASSES_ROOT之下的各个主键。
(这样或许更易说明这一点)你是不是看到了很多前面有一个点(.),后面好象是文件扩展名的主键,如图2所示。
如.bat,.txt,.lnk,.bmp等。
我们把这一类的主键称之为“扩展名主键”,每个扩展名主键都有一个默认键值。
如:主键.bat的默认值为batfile;.lnk主键的默认值为lnkfile。
举了这两个例子,你是否看出了其中的规律。
即:若“扩展名主键”名为.xxx(xxx为某一类文件的扩展名),那么它的默认键值就为xxxfile。
当然并不是所有的默认值都是这样,也可能多个主键对应同一默认值。
比如:主键.jpeg和主键.jpg,它们的默认值jpgfile;.html和htm 的默认值都为htmlfile。
为什么要说这么多的扩展名主键的默认值呢?其中原因且听我慢慢道来。
这个默认键值的作用就非同小可了,它可是文件关联的桥梁和纽带,是它将文件的类型(以扩展名来标识文件类型)与文件的关联联系起来。
不信,你可以将某一“扩展名主键”的默认键值乱改一通,你就会发现,该类文件的许多关联项在右键菜单中消失了。
既然这个重要的默认键值起了一个桥梁的作用,那么桥梁的另一端――文件的关联又是如何定义的呢?我们继续看注册表,让它来给我们解释。
依然是在HKEY_CLASSES_ROOT根键之下。
我们可以看到该根键之下有如下主键。
如:batfile,txtfile,lnkfile等。
(如图3)看到没有图3这些主键好象都是刚才我们所说的“扩展名主键”的默认值。
不错,上述默认值在此处正好变成了主键名――这就是桥梁。
我们把这一类的主键称为“标识主键”。
一般而言,在“标识主键”之下有以下几个重要主键:(如图4)图4DefaultIcon主键,它的功能是定义该类文件的默认图标。
Shell主键,它的功能是本文讨论的中心――文件关联之“命根”所在。
文件的各种关联都寄生在此“根”之下,正是它定义了该类文件与多个程序相关联。
它的默认值也很有用,你是否还记得双击文件可以将文件打开(对于已注册的文件),这种打开就是利用了系统注册表所设定的默认打开方式,即由shell主键的默认键值来控制。
它之下的每个主键,都可称作是“关联主键”(如图4)。
“关联主键”的键名是任意的(建议用英文),它的默认键值也是我们感兴趣的。
因为这一默认键值会直接显示在右键菜单中,并且每个“关联主键”之下都有一个command主键,这个主键定义的就是“该关联对应的执行程序”。
如图5所示,到此文件关联已昭然若揭。
图5下面我们就以.reg文件(注册表的脚本文件)为例来说明其关联过程。
图6首先.reg文件在HKEY_CLASSES_ROOT根键之下有一个“扩展名主键”。
.reg其默认值为regfile,说明reg类型文件关联的主键是regfile。
再在该根键之下找“标识主键”regfile,regfile主键之下有一个DfaultIcon主键,作用是定义reg文件的默认图标。
其默认键就是图标的全路径文件名。
如: C:windows egedit.exe,1(表示的是regedit.exe中的第2个图标)。
regfile主键之下还有一个上文称之为“命根”的主键shell,reg文件的关联就记录在shell之中。
下面我们就为regt建立一个关联。
步骤为:在shell主键之下,新建主键xxf(名任意),置其默认值为:“徐喜峰的文本编辑器”,再在xxf主键之下新建主键command,置其默认值为C:WindowsNotepad.exe %1,该默认值的意义为:用记事本来打开当前reg文件。
若没有%1参数,则只运行记事本程序,而不打开当前文件。
设置完毕,你再看看reg文件的“右键菜单”,是不是多了一个“徐喜峰的文本编辑器”选项(如图6),爽吧!~以上所说的只是作用于普通文件的关联,然而在Windows中,除了文件,还有文件夹及特殊的文档(如我的电脑,驱动器,回收站等)。
那么这些又该如何设置关联呢?那就请大家记住在HKEY_CLASSES_ROOT根键之下还有以下几个重要的系统关联主键:*:作用于所有文件,它与“标识主键”的关联方法一样。
Directory:作用于一般文件夹。
Folder:作用于所有文件夹,包括特殊文件,如:控制面板,回收站等。