人人范文网 范文大全

注册表脚本编程入门

发布时间:2020-03-03 16:58:25 来源:范文大全 收藏本文 下载本文 手机版

注册表脚本编程入门

本小时我们将对注册表脚本文件进行比较深入的学习。注册表脚本文件——即.reg文件的重要性不仅在于可以用于备份注册表设置,还可以用来改变注册表设置而无需打开注册表编辑器,这在解决某些问题时具有独特的优势和便利性。

22.1 注册表脚本是什么?

在计算机日常维护中,为了防患于未然,我们需要对注册表进行导出备份;在导出时选择文件保存类型时会看到*.Reg文件,如图22-1所示,这个文件就是注册表脚本文件的格式。

图22-1导出注册表文件 图22-2通过快捷菜单编辑 该.Reg文件可以通过记事本或其它文本编辑器打开并进行编辑,比如右击某个.Reg文件,在右键菜单中会出现图22-2所示的菜单。

在右键快捷菜单中,选择“编辑”命令就可以打开默认的脚本编辑软件(在Windows中都是记事本)来对脚本进行编辑,当然我们也可以选择其它的文本编辑软件来进行脚本编辑,不过需要在“资源管理器”的“工具→文件夹选项”来设置。打开“文件夹选项”窗口,选择“文件类型”选项,在其中找到“REG 注册表项”,再单击“高级”按钮,进入图22-3所示的窗口。

图22-3修改REG文件默认设置项目 图22-4编辑REG文件类型的操作

双击“edit”或选择“编辑”按钮就可以对打开该文件对应的应用程序进行修改,我们可以通过“浏览”按钮来选择其它关联应用程序,如图22-4所示,比如用于编辑.Reg文件默认的是NOTEPAD.EXE程序(记事本),这里我们就可以在“用于执行操作的应用程序”中更改。

当注册表或系统出现问题的时候,就可以通过注册表的导入功能将.Reg文件导入注册表,这样可以实现恢复注册表的目的。或者,直接运行.Reg文件安装到注册表中去,之后会弹出安装提示框,如图22-5所示,选择“是”按钮就可以将这些内容添加到注册表中。

图22-5安装.Reg文件

说了这么多,那么到底什么是注册表脚本呢?其实就是上面我们反复提到的.Reg文件,简单地讲,注册表脚本就是以.Reg为扩展名的可以对注册表进行操作的脚本文件。我们可以利用该.Reg文件直接对注册表进行各种修改操作,而且对注册表的操作不会受到注册表编辑器被锁定或禁用的限制。

22.2 如何编写注册表脚本?

首先我们得了解一下注册表文件的格式,跟其它一些脚本语言一样,注册表脚本在编写的时候需要遵循一定的格式,如果格式不正确,在使用这些脚本的时候会出现一些意想不到的问题。要遵循的格式是指我们在修改或自己创建一个注册表脚本文件的时候应该注意的问题。当然如果是用注册表编辑器(Regedit)导出的.Reg脚本文件是没有任何格式问题的。

下面让我们来看一段注册表脚本文件:

---------------------------- REGEDIT4

;一个注册表脚本文件

[HKEY_LOCAL_MACHINE\\SOFTWARE\\ACD Systems\\ACDSee\\50] @=\"默认值\" \"CompanyID\"=\"MasterHua.com\" \"LicenseNumber\"=\"581 076 451 038 881 441\" \"UserName\"=\"User007\"

---------------------------- 在上面的脚本文件中,

第一行的“REGEDIT4”是用来标明注册表脚本文件的文件格式类型,是必须的部分,该格式可以广泛应用于Windows 9X/.NT4/2000/XP中;另外有一种名为“Windows Registry Editor Version 5.00”的文件格式,它仅被用于Windows 2000和Windows XP中。这里建议大家使用REGEDIT4格式。在REGEDIT4之后的部分就是注册表脚本文件的正文部分。

第二行是一个空行,这个空行是可以有也可以没有的,即是可选项。空一行可以让你的注册表脚本文件看上去有条理一点。

第三行是注释部分,使用分号(;)开头,后面可以加上注释的内容,以此来增强该脚本文件的可读性,该注释部分也是可有可无的。

第四行标明的是操作的注册表主键或子键(全路径),这里必须用方括号“[]”括起来,比如上例中的“[HKEY_LOCAL_MACHINE\\SOFTWARE\\ACD Systems\\ACDSee\\50]”。

第五行是注册表脚本文件的核心部分,该部分可以对注册表的各种数据进行设置,使用格式如:\"数值名称\"=\"数值数据\",数值名称表示的是键名,注意的是必须用双引号(\"\")括起来,而数值数据表示的是对应的数值。

对于默认值、字符串值、二进制值和DWORD值设置的方法也不尽相同:

默认值:@=\"默认值\",在注册表中每一个子键中都会有一个默认键值项,如@=\"\"就表示该默认键值为空,如果不使用@=\"\"就表示该默认键值为“(未设置键值)”。 字符串值:\"数值名称\"=\"数值数据\",数值名称表示的是键名,数值数据表示的是字符串对应的值,例如:\"UserName\"=\"User007\"。需要注意的是数值名称和数值数据必须用双引号(\"\")括起来。

二进制值:\"数值名称\"=数据类型:数值,数据名称必须用双引号括起来,而后面的数值则不需要。数据类型以hex:开头,以区别字符串、DWORD值。数值是以十六进制的数字来标识的,即

1、

2、3„„A、B、C、D、E、F。数值的大小可以是无穷大的。

DWORD值:\"数值名称\"=数据类型:数值,同样数据名称必须用双引号括起来,数据类型以DWORD开头,数值是8位的十六进制数字。

最后一行也是一个空行,我们在编辑.Reg脚本文件的时候在最后一行一定要回车换行,否则的话,最后一行将不会被处理。

在熟悉了注册表脚本文件的格式后,我们就可以通过记事本或其它文本编辑器来编写注册表脚本文件了。比如我们使用记事本来编写脚本文件,需注意的是在保存的时候,要在“文件名”中输入该脚本文件的全名称(包括扩展名.reg),在保存类型中选择“所有文件”即可。

22.3 注册表脚本应用实例

22.3.1 实例一:登录Windows时显示消息文字

在Windows XP中,我们可以通过“组策略”的设置来自定义登录时的消息文字和消息标题:打开组策略,在“计算机配置→Windows设置→安全设置→本地策略→安全选项”中,我们会看到“交互式登录:用户试图登录时消息标题”和“交互式登录:用户试图登录时消息文字”项目,双击它们(或右击选择属性命令)就可以添加相关的内容,如图22-6所示。

图22-6在“组策略”中自定义登录消息窗口

这样在下一次登录计算机前就会弹出这个消息框,向使用你计算机的人发出提示信息。其实组策略也是通过对注册表的修改来完成相应的功能。这里的“用户登录的消息标题”和“用户登录时的消息文字”分别对应的是“HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\policies\\system”中的:“legalnoticecaption”和“legalnoticetext”。其实我们也可以通过注册表脚本文件(命名为logon.reg)来定义这些内容。具体的脚本内容如下:

---------------------------- REGEDIT4

;自定义登录计算机的消息文字

[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\policies\\system] ;定义消息框的标题栏 \"legalnoticecaption\"=\"警告\" ;定义消息框的文本内容

\"legalnoticetext\"=\"欢迎使用User007的电脑!别忘了关机!\"

---------------------------- 其实在Windows XP中,在“HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon”子键下操作,所达到的效果是一样的,在这个两个子键下都有“legalnoticecaption”和“legalnoticetext”项。

22.3.2 实例二:修改Windows的常用设置选项

在Windows XP中,通过注册表脚本文件我们可以对Windows的一些常用设置选项进行修改,比如让菜单弹出的延迟速度更短,让窗口最小化时的动画“消失”,让“开始”菜单中的“图片收藏”、“我的音乐”、“网上邻居”和“帮助和支持”项“消失”。下面将要介绍的脚本就是这方面的内容,如图22-7所示的就是修改前的效果。

图22-7修改前的开始菜单

下面就是一段可以实现上述效果的注册表脚本文件,命名为option.reg。

---------------------------- REGEDIT4

;修改Windows的常用设置选项

[HKEY_CURRENT_USER\\Control Panel\\desktop] ;修改菜单弹出延迟速度 \"MenuShowdelay\"=\"0\"

;修改强行关闭程序的时间延迟 \"HungAppTimeout\"=\"1500\" \"WaitToKillAppTimeout\"=\"2000\"

[HKEY_CURRENT_USER\\Control Panel\\desktop\\windowmetrics] ;屏蔽窗口最小化时的动画效果 \"MinAnimate\"=\"0\"

[HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer] ;禁止在开始菜单中出现“图片收藏”项 \"NoSMMyPictures\"=dword:00000001

;禁止在开始菜单中出现“我的音乐”项 \"NoStartMenuMyMusic\"=dword:00000001

;禁止在开始菜单中出现“网上邻居”项

\"NoStartMenuNetworkPlaces\"=dword:00000001

;禁止在开始菜单中出现“帮助和支持”项 \"NoSMHelp\"=dword:00000001 ---------------------------- 运行该脚本文件后,注销或重启计算机后,你会发现“开始”菜单变成了这个样子了(如图22-8所示)。

图22-8修改后的开始菜单

22.3.3 实例三:让“运行”、“注销”和“关机”消失

上网的时候,我们经常会碰到这样的问题:在浏览一个网页之后发现“开始”菜单中的“运行”、“注销”和“关机”项都“消失”了,其实这些都是网页中恶意代码所至,这些代码通过ActiveX控件对注册表进行修改,以至于让系统“失去”某些功能。其实这些所谓的恶意代码也没有神奇的,我们自己通过手工编写注册表脚本也可以让它们消失。下面就是一个比较简单的脚本,它可以让“开始”菜单中的“运行”和“关机”消失,让Alt+Ctrl+Del组合键窗口中的“注销”屏蔽掉。

---------------------------- REGEDIT4

;让“运行”、“注销”、“关机”消失

[HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer] \"NoRun\"=dword:00000001 \"NoClose\"=dword:00000001 \"NoLogOff\"=dword:00000001

---------------------------- 运行该注册表脚本之后,会在“Explorer”子键下新建“NoRun”、“NoClose”和“NologOff”三个键值项,并都赋值为“1”。

22.3.4 实例四:让“运行”、“注销”和“关机”回到从前

在遭遇到上述的网页恶意代码破坏后,你的系统可能会出现这样那样的问题,遇到这些情况,我们可以通过注册表脚本文件来恢复。下面就是一段注册表脚本程序,该脚本可以恢复被“消失”的“运行”、“注销”、“关机”项目,桌面上的所有图标,被修改的IE浏览器设置:

---------------------------- REGEDIT4

;让“运行”、“注销”、“关机”回到从前

[HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer] ;恢复“运行”项 \"NoRun\"=-

;恢复“关机”项 \"NoClose\"=-

;恢复“注销”项 \"NoLogOff\"=-

;恢复桌面图标 \"NoDesktop\"=-

;恢复IE浏览器的设置

[HKEY_CURRENT_USER\\Software\\Microsoft\\Internet Explorer\\Main] \"Start Page\"=\"http://www.daodoc.com\" \"Window Title\"=\"Microsoft Internet Explorer\"

---------------------------- 在上面的脚本中,我们发现在数值名称对应的数值数据中用到一个“-”号,这是表示将删除该数值名称,即删除上面“NoRun”、“NoClose”、“NologOff”、“Nodesktop”键值项。另外在注册表脚本中,我们还可以通过该方法来删除子键,比如下面的注册表脚本语句:

---------------------------- REGEDIT4

[-HKEY_CURRENT_USER\\Software\\3721]

---------------------------- 运行该脚本之后,就可以将HKEY_CURRENT_USER\\Software\\下的“3721”子键删除。

22.3.5 实例五:关闭随OE和系统而启动的Meenger 在使用Outlook Expre(OE)的时候,我们会发现一个很讨厌的问题:一运行Outlook Expre,MSN Meenger(或Windows Meenger)就跟着一起运行,而且有时候还出现MSN Meenger关闭不掉的情况。相信这个问题已经纠缠你很久,不过通过注册表脚本可以解决这个问题,我们只要在文本编辑器中输入以下内容,并保存为.Reg文件(如msn.reg),运行该注册表脚本文件即可解决问题。该注册表脚本文件的内容如下:

---------------------------- REGEDIT4

;取消随OE自动启动的MSN Meenger [HKEY_CLASSES_ROOT\\CLSID\\{FB7199AB-79BF-11d2-8D94-0000F875C541}\\LocalServer32] @=\" \"

;取消随系统自动启动MSN Meenger [HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Run] \"msnmsgr\"=\" \" \"msmsgs\"=\" \"

---------------------------- 在以上的注册表脚本文件中,第一个语句是可以为默认键赋空值来取消随OE自动启动的MSN Meenger(包括Windows Meenger),在第二个语句中,可以通过给“msnmsgr”赋空值来取消MSN Meenger的自动启动;通过给“msmsgs”赋空值来取消Windows Meenger的启动。

游戏编程入门

编程入门技巧

怎么编程入门

LinuxShell脚本编程实例

编程入门基础知识总结

学习编程入门2

计算机编程入门选择

高级Bash脚本编程指南

编程入门基础知识点总结

三菱PLC编程软件入门

注册表脚本编程入门
《注册表脚本编程入门.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
相关专题 注册表入门 注册表
点击下载本文文档