VBS带你领略脚本语言的快乐!(注册表篇) |
您所在的位置:网站首页 › reg修改注册表键值 › VBS带你领略脚本语言的快乐!(注册表篇) |
用VBS操作注册表
前言
先前我们解了了VBS入门知识和VBS基础知识,但那些都比较low,我相信在这高级语言统治的信息社会,转过头来学脚本的人,目的肯定不单纯。就像我当年就是因为它可以做一些恶搞脚本才去了解这款语言的。 回想起高中时,我的脚本在学校机房里人人都闻风丧胆的样子,最后搞得只要是我发的文件,没几个人敢打开(偷笑)。 那怎么能让VBS做到一些平常我们做不到的,让人感到不简单的事呢?那就是修改注册表。啥?不知道注册表是什么?没事,接下来让你全面了解。 一、注册表 啥是注册表注册表是Windows的一个非常重要非常重要的数据库,里面储存着系统信息和程序信息。比如某些杀毒软件(这里只针对一些流氓软件),他们就会擅自修改你的注册表,让你无论怎样都卸载不干净,甚至有些时候他的操作权限比你的还要大(曾深受其害)。 查看你的注册表 那注册表在哪呢?我们不用刻意去找,按“win+R”快捷键,打开“运行”窗口,输入“regedit”,回车,就会打开注册表编辑器。 1. HKEY_CLASSES_ROOT(根主键):包含了所有已装载的应用程序、OLE(对象连接与嵌入)或DDE(动态数据交换)信息,以及所有文件类型信息。 2. HKEY_CURRENT_USER(用户主键):记录了有关登录计算机网络的特定用户的设置和配置信息。 3. HKEY_LOCAL_MACHINE(机器主键):存储了Windows开始运行的全部信息。 4. HKEY_USERS(私人用户主键):描述了所有同当前计算机联网的用户简表。 5. HKEY_CURRENT_CONFIG(当前配置主键):该主键包括字体、打印机和当前系统的有关信息。 二、操作注册表 1. 创建对象要想用VBS操作注册表,就要先创建一个能和系统交流(谈恋爱)的对象,再在这个对象里使用各种方法对注册表进行操作。 当然,你问我没对象怎么办呀?没对象咱们就创建一个对象,我们程序猿最不缺的就是对象!接下来就由我给你们创建一个对象: dim MyObject set MyObject= wscript.Createobject("wscript.shell")以上代码就是创建了一个能和系统交流的对象,对象名是“MyObject”。 既然我们现在有了可以与系统交流的对象了,那我们该怎么和系统交流呢?接下来就由本情圣交给你们三种和它交流的方法: 1. 读注册表:regread 2. 写注册表:regwrite 3.删除数据表:regdelete 光有方法还不行,我们的方法还需要必不可少的参数,该参数包括注册表的根键、主键路径、键值。 1. 根键: 它有两种表现形式,一种是用他的键名来表示,比如HKEY_CLASSES_ROOT,或是用它名字的缩写,比如HKEY_CLASSES_ROOT的缩写是HKCR,缩写的格式就是最前面的HK加上后面单词的首字母缩写。 2. 主键路径: 就是你要修改的键在注册表中的位置,各个键之间用“\”分隔。 3. 键值: 就是你要修改的那个东西。 2.读注册表(RegRead):读注册表主要是用来获取注册表中键和键值数据。 dim ReadRegistry dim Read_Data set ReadRegistry=WScript.CreateObject("WScript.Shell") Read_Data=ReadRegistry.RegRead("你要读取键的参数") msgbox(Read_Data) 3.写注册表(RegWrite)(重要)在我们操作注册表时,你会发现有些键默认是不存在的,但我们想要修改计算机的这部分功能,就必须要修改这个不存在的键,这时我们就可以用“regwrite”方法创造这个键。 “regwrite”方法可以在注册表中新建主键,并赋给它们一个初始值,还可以对注册表中已经存在的主键或键值进行数据的修改,因此写操作的参数结构就比其他操作要复杂一些,它不仅要路径参数,还要一个初始值和类型参数。 参数类型有三种: 1. REG_SZ:字符型,该类型为缺省类型。 2. REG_DWORD:双字节型。 3. REG_BINARY:二进制型。 Dim WriteRegistry Set WriteRegistry=WScript.CreateObject("WScript.Shell") WriteRegistry.RegWrite "HKCR\xx\",Default //在根键HKEY_CLASSES_ROOT之下新建主键"xx",并置其默认值为空 WriteRegistry.RegWrite "HKCR\xx\","xxx" //在根键HKEY_CLASSES_ROOT之下新建主键"xx",并置其默认值为xxx" WriteRegistry.RegWrite "HKCR\xx\value1","string" //在主键"xx"之下新建一个字符串型键值"value1",并置其初始值为"string" WriteRegistry.RegWrite "HKCR\xx\value2",1,"REG_DWORD" //在主键"xx"之下新建一个REG_DWORD型键值"value2",并置其初始值为1 WriteRegistry.RegWrite "HKCR\xx\value3",0Xff,"REG_BINARY" //在主键"xx"之下新建一个二进制型键值"value3",并置其初始值为十六进制的"ff"看不懂没关系,博主刚开始的时候也看不懂,我们要循序渐进,多码几次自然就明白了。 4.删除注册表(RegDelete)有些键你看着不顺眼,想尽办法就是要让他从你电脑上消失,比如某些流氓软件写在你电脑上的残留信息,这时候就需要我们进行注册表的删除操作,该操作极其危险,无论什么主键和键值,无论他们对电脑有多么重要,它都能流畅的帮你把他弄没喽,所以在使用时务必小心! 删除操作比起前两个就简单多了。 Dim DeleteRegistry Set DeleteRegistry=WScript.CreateObject("WScript.Shell") DeleteRegistry.RegRead("HKCR\xx\value") //删除"xx"主键之下的"value"键值 DeleteRegistry.RegRead("HKCR\xx\") //删除根键HKEY_CLASSES_ROOT之下的"xx"主键这里要警告大家一点:不要胡乱修改或删除注册表,如果一不小心把系统信息或程序信息破坏掉,可能会导致程序或系统的崩溃,如果非要这么干,请随时做好备份注册表或重装系统的准备! 结束语到此,VBS对注册表的操作就结束了,东西不多,看着也很简单,但用起来却很爽,这也是我们实战时必不可少的操作。前几篇做足了铺垫,接下来的实战篇将为大家展示VBS真正的威力。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |