当上网遇到一些恶意的网站,在背后偷偷修改你的注册表信息,把系统设置乱改一通,然后再锁住“注册表编辑器”(Regedit.exe),让你无法通过执行“Regedit”(注册表编辑器)这个程序来还原设置时,你该怎么办呢?下面就请听我给你慢慢道来。
DOS命令,我用
这个时候,我们可以通过在DOS下执行“Regedit”来修改注册表,这个语法是:regedit files.reg。“files.reg”是指事先建立好的扩展名为“.reg”的注册表信息文件(请不要以为文件名称一定要叫做“files.reg”,这只是个举例,只要扩展名是REG就可以了)。如果REG文件与“Regedit.exe”不在同一个文件夹下的话(比如REG文件不在C:\Windows中,而“regedit.exe”位于C:\Windows中),REG文件名称前面就需要加上该文件所在的路径。例如:Regedit d:\temp\unlock.reg,这段话的意思就是告诉“Regedit”向注册表输入D:\Temp中名为“unlock.reg”的文件。REG文件只是一个纯文字文件,在文件格式上并没有特殊的地方,所以利用Windows的记事本就可以制作,惟一麻烦的地方是,你必须知道你要修改的注册表值是什么。下面就以实例解说,好让各位更容易明白。
REG文件,我编
假设问题是:“Regedit”已经被锁住了,我们从“开始→运行→Regedit”按确定之后,出现“注册表编辑已经被您的系统管理员停用”。如何才能解除这个限制呢?
因为限制不准用户执行“Regedit”的注册表信息是:HKEY_CURRENT_USERSoftware\Microsoft\Windows\CurrentVersion\Policies\System中的 “DisableRegistryTools”这一项值。因此只要我们把“DisableRegistryTools”的值设为“0”(代表关闭),或是干脆把System这个注册表信息删掉(干净的操作系统本来就没有此信息)就行了。那这个REG文件怎么写,才能让“Regedit”顺利把其中的信息导入注册表呢?方法如下:
1、制作REG文件
新建一个文本文件,在其中输入以下内容:
REGEDIT4
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersionPolicies\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”表示,因为“DWO-RD”值是16进位,16进位的“0”就是“00000000”。
5、因为本例中只有一行注册表信息([HKEY_CURRENT_USER\Software\Mi...]),所以没有空行。而如果有两个以上的注册表信息,信息与信息之间就需要有空行隔开。
6、如果要删除某个注册表信息该怎么办?很简单,在注册表信息前面加上“-”(减)号。例如,“unlock.reg”我也可以这么写:
REGEDIT4[-HKEY_CURRENT_USER\Software\Microsoft\WindowsCurrentVersion\Policies\System]
只要“-HKEY_CURRENT_USER\Soft...”就可以了,“DisableRegistryTools...”那一行就可以省去不写,为什么?因为这行就是告诉“Regedit”直接去把“System”这个注册表信息删掉,而“DisableRegistryTools”又是在“System”下,头都删了,当然里面的东西也就消失了。