reg文件编写方法整理

转自 这里

假设问题是:“Regedit”已经被锁住了,我们从“开始→运行→Regedit”按确定之后,出现“注册表编辑已经被您的系统管理员停用”。如何才能解除这个限制呢?

因为限制不准用户执行“Regedit”的注册表信息是:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System 中的 “DisableRegistryTools”这一项值。因此只要我们把“DisableRegistryTools”的值设为“0”(代表关闭),或是干脆把System这个注册表信息删掉(干净的操作系统本来就没有此信息)就行了。那这个REG文件怎么写,才能让“Regedit”顺利把其中的信息导入注册表呢?方法如下:

1、制作REG文件

新建一个文本文件,在其中输入以下内容:

REGEDIT4

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System]

“DisableRegistryTools”=dword:00000000

注意:“REGEDIT4”这行与后面行之间要有一空行。

编辑好了以后,为文件取个名字储存,如“unlock.reg”并保存(存盘时请记得在记事本的存盘对话框中的“保存类型”要选择“所有文件(*.*)”,否则会被当作TXT文件的)。

2、导入REG文件

因为在Windows环境下,已经没有办法执行“Regedit”,所以就要改成从DOS下执行此命令。方法是“开始→程序→MS-DOS方式”。当然,你想用启动盘开机,从纯DOS下执行也行,只是不需要这么麻烦,用Windows中的MS-DOS方式即可。

假设我的这个unlock.reg是放在C:\TEMP的话,就输入regedit c:\temp\unlock.reg后按回车。接着画面上会出现“您确定要增加 c:\temp\unlock.reg信息到注册表”的对话窗——按“确定”,“unlock.reg”的内容就输入注册表了,同时也就解除了无法执行 “Regedit”的限制了。

三、学会举一反三

REG文件为什么要以“REGEDIT4”开头,而不是“REGEDIT1”或“REGEDIT2”呢?因为这是“规定”。Windows 95/98/ME/NT 4.0等的REG文件开头第一行规定必须是“REGEDIT4”。而Windows 2000/XP则是“Windows Registry Editor Version 5.00”,用以区分所使用的操作系统。从这个REG文件中,我们可以了解REG文件的内容格式:

1、开头第一行一定是:“REGEDIT4”或“Windows Registry Editor Version 5.00”,以区别操作系统;

2、注册表信息头尾用“[”与“]”包起来;

3、” “内就是字符串内容;

4、“DWORD”为“0”就是用“dword:00000000”表示,因为“DWORD”值是16进位,16进位的“0”就是“00000000”。

5、因为本例中只有一行注册表信息([HKEY_CURRENT_USER\Software\Mi…]),所以没有空行。而如果有两个以上的注册表信息,信息与信息之间就需要有空行隔开。

6、如果要删除某个注册表信息该怎么办?很简单,在注册表信息前面加上“-”(减)号。例如,“unlock.reg”我也可以这么写:

REGEDIT4

[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System]

只要“-HKEY_CURRENT_USER\Soft…”就可以了,“DisableRegistryTools…”那一行就可以省去不写,为什么?因为这行就是告诉“Regedit”直接去把“System”这个注册表信息删掉,而“DisableRegistryTools”又是在 “System”下,头都删了,当然里面的东西也就消失了。
注册表reg文件编写
有的时候为了方便修改注册表,会制作一些脚本,如inf文件或者vbs脚本等。其中.reg文件是最方便的。

关于注册表的操作,常见的是创建、修改、删除。下面以2k or xp的注册表为环境为例,介绍.reg文件的编辑(98的.reg文件头是regedit4)。

--创建--
创建分为两种:
1 一种是创建子项(subkey)
首先创建一个文件,后缀名为”.reg”,内容如下:
windows registry editor version 5.00
[hkey_local_machine\software\test4adam]
然后执行该脚本,你就已经在hkey_local_machine\software\下创建了一个名字为“test4adam”的子项。
(注:”windows registry editor version 5.00″ 必须要加上,同时注意单词间的空格为英文空格,否则运行后会出现错误,提示”你的注册表只能导入二进位注册文件”。)
2 另一种是创建一个项目名称
和从注册表中导出的文件格式一致,内容如下:
windows registry editor version 5.00
[hkey_local_machine\software\test4adam]
“test1″=”adam”
“test2″=hex:61
“test3″=dword:00000064
(注:test1的类型是“string value” ,如果不存在则创建,存在则修改。
test2的类型是“binary value” ,如果不存在则创建,存在则修改。
test3的类型是“dword value” ,如果不存在则创建,存在则修改。
如果注册表中不存在test4adam子项,该脚本也会创建该子项。
字符串值中的特殊字符必须进行转义处理,如’\’利用’\\’代替,否则会出现更新无效。 )

--删除--
1 删除一个项目名称,创建一个如下的文件,文件名后缀为”.reg”:
windows registry editor version 5.00
[hkey_local_machine\software\test4adam]
“test1″=-
执行该脚本,hkey_local_machine\software\test4adam下的”test1″就被删除了;

2 删除一个子项,创建一个如下的脚本:
windows registry editor version 5.00
[-hkey_local_machine\software\test4adam]
执行该脚本,hkey_local_machine\software\test4adam就已经被删除了。

附:批处理文件命令导入注册表文件
例如程序是E盘的regedit_2k.reg文件,执行的程序是E盘劲舞团目录的patcher.exe
下面是NT用的批处理文件内容:
@echo off
reg import e:\regedit_2k.reg
start E:\劲舞团\patcher.exe
exit
Windows XP注册表文件除了可以用注册表编辑器、工具软件修改外,还可以直接用记事本制作REG文件脚本来直接修改,其优势是可以文件形式保存、交流,也保证了准确性和安全性。下面我们分别从注册表项(子项、值项)的创建、修改、删除3个方面分析REG文件的制作。

1.创建和修改

(1)创建子项

我们现在需要在HKEY_LOCAL_MACHINE\SOFTWARE下创建一个名为”IvanLuo”的子项,则只须在记事本中输入以下内容(右图):

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\IvanLuo]

将其保存为任一扩展名为REG的文件(如ivan.reg),双击其就可以在HKEY_LOCAL_MACHINE\SOFTWARE\下创建名为”ivanluo”的子项。

(2)创建或修改值项

现在要在HKEY_LOCAL_MACHINE\SOFTWARE\IvanLuo下新建一个名为”ivan”(如注册表中已有ivan值项,则为修改)、类型为”REG_DWORD”、值为”111″(16进制)的值项,则可在记事本中输入以下内容:

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\IvanLuo]
“ivan”=dword:111

将以上文档保存为一个REG文件并双击之,如果此时你的注册表中没有IvanLuo这个子项,那么将会为你创建。修改时也可把需要修改的注册表项导出,用记事本打开并修改,然后将其导入即可。

2.删除

(1)删除值项

如要将HKEY_LOCAL_MACHINE\SOFTWARE\IvanLuo\下名为”ivan”的值项删除,相应REG文件的内容为:

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\IvanLuo]
“ivan”=-

(2)删除子项

或要删除HKEY_LOCAL_MACHINE\SOFTWARE下的IvanLuo子项,REG文件如下书写:

Windows Registry Editor Version 5.00
[-HKEY_LOCAL_MACHINE\SOFTWARE\IvanLuo]

以上便是REG文件制作的全部内容,很简单吧!如果还有什么不懂的地方,只须将注册表中一项导出为REG文件,然后用记事本打开,对照注册表编辑器中的相应项看看便明白了。

Post a Comment

Your email is never published nor shared. Required fields are marked *
*
*


为了防止恶意的垃圾评论脚本,请输入以下图片里面的数学方程式的答案。
防垃圾评论问题