Windows 中的注册表文件( system.dat 和 user.dat )是 Windows 的核心数据库,因此,对 Windows 来说是非常重要的。通过修改注册表文件中的数据,可以达到优化 Windows 性能的效果。但修改注册表也可能导致整个 Windows 系统的崩溃!所以,在对注册表进行操作前或者是在安装一些软件前先对注册表进行备份。
下面介绍REG 文件的编写方法。
一、对主键的操作
1.新建一个主键
例如我们想在主键 HKEY_CURRENT_USER\Software 下新建一个名叫“我的软件”的主键。那么,你可以打开记事本,写入如下内容:
2009-12-6 12:58:31 上传下载附件 (13.63 KB)
说明:
(1) 第一行的 REGEDIT4 必须用大写。第二行必须为一个空行。在最后必须要有一个回车。
(2) Windows 95/98/ME/NT4.0等的REG文件开头第一行是“REGEDIT4”。而Windows 2000/XP则是“Windows Registry Editor Version 5.00”,用以区分所使用的操作系统。事实上,“REGEDIT4”适合目前任何Windows 操作系统(9X/2000/XP/2003)。
然后将这个文件保存成为 REG 格式。例如, reg.reg
双击运行此文件,会弹出两次确认信息,确定后计算机就会把我们写的注册表项目写入注册表文件中。你可以打开 Regedit.exe 来检查一下。
2009-12-6 12:59:33 上传下载附件 (19.65 KB)
2.删除一个主键
例如我们想把刚才我们建的那个名叫“我的软件”的主键删除掉,那么我们可以在记事本中这么写:
2009-12-6 12:59:44 上传下载附件 (12.48 KB)
注意到前面的减号“ - ”了吧,这就是删除的意思。将它保存成 reg 格式,运行。“我的软件”这个主键就被删掉了。
二、对键值项的操作
1.添加一个键值项
要新建一个键值项,必须要指明该键值所在的分支,该键值的名字、该键值的类型和该键值的值 ( 数据 ) 。例如要在分支 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer 下新建一个名为“ Nodrives ”,类型为“ Dword ” ,值为“ 00000004 ”的键值项。你可以这么写:
2009-12-6 12:59:45 上传下载附件 (11.55 KB)
说明:
(1) 键值类型 dword 必须用小写 ,其他类型如 hex 等也都必须用小写;
(2) 在新建键值项时,如果该键值所在的主键分支不存在,在添加新键值的同时系统会自动创建该分支;
(3) 在创建字符串类型的键值时,如果该字符串中包含路径分隔符,这个路径分隔符应该用双斜杠“ \\ ”表示。例如:
2009-12-6 12:59:57 上传下载附件 (12.46 KB)
关于键值类型,除了 WindowsXP 外,其他的 Windows 版本中都只有三种: Dword 值、二进制值和字符串值。在 REG 文件中, Dword 值用 dword 表示,二进制值用 hex 表示,字符串值直接用引号把内容括起来就行。至于在 WindowsXP 中,除了这三种外又增加了两种:多字符串值和可扩充字符串值。
在 REG 文件中,默认键值是用 @ 表示的,并且没有引号。
2、删除一个键值项目
例如我们要删除刚才创建的“ Nodrives ”键值,我们可以这么写:
2009-12-6 13:00:02 上传下载附件 (11.62 KB)
注意到等号后面的减号了吧,这就是删除的意思。
3、修改键值项的值
例如我们想将前面创建的“ Nodrives ”键值项的值由原来的 00000004 改为 0000000c ,那么我们可以这么写:
2009-12-6 13:00:06 上传下载附件 (11.84 KB)
这和创建一个新键值的方法是类似的,计算机会自动用 0000000c 将 00000004 替换掉。
以上都是一次执行一个操作,如果你想一次执行“一批”操作呢?很简单,只要把你要操作的项目一条一条的写入 REG 文件里就行了。如果是对同一个主键下的键值进行操作,你只要写一次键值所在的分支就可以,因为他们的分支都一样。例如:
2009-12-6 12:59:25 上传下载附件 (12.91 KB)
以上就是 REG 文件的全部编写方法。
先别急,我们来看看一个标准范例,这是从注册表里面导出来的,大
家慢慢学习,跟着模仿一下就能写出自己的.reg文件了。
REGEDIT4
[HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\
Policies\\Explorer]
\"NoRun\"=dword:00000000
\"NoRecentDocsMenu\"=hex:01,00,00,00
\"NoFavoritesMenu\"=dword:00000000
\"user\"=\"sundrink\"
大家可以看到,dword是16进制,hex是二进制,字符串则可以直接赋
值。只要将上面的内容复制保存到文本文档里,然后另存为你想要的.reg文件运行就可以了。
==================
我们来看一看REG文件是如何将其中的数据导入到注册表中的。
导入信息
2009-12-6 13:32:50 上传下载附件 (7.2 KB)
图1 确认框
当我们双击REG文件时,系统会首先提示“确实要把XXX.REG内的信息添加到注册表吗?”的询问对话框(如图1),单击“是”按钮,系统就会按照REG文件中所描述的操作对注册表进行修改,完成以后并会给出提示“XXX.REG中的信息已经成功输入注册表”,把REG文件中的信息导入注册表的操作称为“合并”。
2009-12-6 13:32:54 上传下载附件 (18.67 KB)
图2 在此修改REG文件的默认命令
修改默认值
在REG文件上单击鼠标右键,有三个命令是关于REG文件的:合并、Print、编辑,以粗体显示的就是“合并”操作,这也是默认的打开方式,也就是双击时执行的操作。如果你不想让双击REG文件时执行“合并”的操作,你可以更改它的默认打开方式为“编辑”。打开资源管理器,单击“查看”菜单中的“文件夹选项”命令,在打开的对话框中单击“文件类型”标签,然后在“已注册的文件类型”列表中找到并选中“注册表项目”(如图2),从下面的“打开方式”我们也可以看出:原来REG文件默认的“合并”操作关联的是注册表编辑器Regedit呀!接下来点击“编辑”按钮,打开“编辑文件类型”对话框,然后选择“操作”列表中的“编辑”,再点击“设为默认值”按钮即可(如图3),以后双击REG文件时就会用记事本来打开进行编辑。
2009-12-6 13:32:59 上传下载附件 (20.49 KB)
图3 把REG默认命令设为编辑
在这里笔者顺便告诉大家一个独门绝技,如果你希望REG文件在导入时没有任何提示,你可以在图4所示的对话框中选中“合并”,然后单击“编辑”按钮,在弹出对话框的命令行中输入“regedit.exe /s "%1"”即可,这是使用了注册表编辑器Regedit的一个被称为安静导入模式的隐藏参数“/S”,在导入REG文件时如果加上“/S”参数,系统就不会再弹出任何提示对话框而直接导入了。
2009-12-6 13:33:04 上传下载附件 (12.54 KB)
图4 取消导入时的确认
解除禁用
有时在某些电脑中设置了禁用注册表编辑器后,为了防止一些电脑高手使用REG文件(看完了这篇文章你也可以成为高手了^_^)来解除对注册表编辑器的限制,会让REG文件的默认打开程序设置为其他无关程序,当然这时可以通过修改“文件夹选项”中的相关设置改回来,但还有一种更绝的办法可以使REG文件不能用系统默认的方式打开。
2009-12-6 13:32:49 上传下载附件 (19.08 KB)
图5 选择REG文件的打开方式
运行注册表编辑器,将“HKEY_CLASSES_ROOT.reg”下的默认值改为“txtfile”,这时REG文件的打开方式都指向了TXT文本文件。这样更改后不知道的人即使修改“文件夹类型”中的“注册表项目”设置也无法改回来,当然这时系统也已经禁用了注册表编辑器,你是无法通过注册表编辑器修改了。但经过笔者的研究发现还有一种方法可以破解这种禁用REG文件。我们可以在编辑好的REG文件上按住“Shift”键的同时单击鼠标右键,这时系统会让你重新选择打开方式,从中选取用注册表编辑器Regedit打开(如图5)就可以将REG文件导入注册表了
本文摘自: 我爱电脑技术论坛(http://bbs.520dn.com) 详细出处请参考:http://bbs.520dn.com/forum.php?mod=viewthread&tid=205149