无名

长风破浪会有时,直挂云帆济沧海!

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

假设问题是:“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”下,头都删了,当然里面的东西也就消失了。
来自:http://hi.baidu.com/star%B9%CA%CA%C2_%B1%F2/blog/item/88f02cd3fb394431960a167d.html

posted on 2008-05-30 17:27  无名  阅读(6097)  评论(0编辑  收藏  举报