概述
用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 "HKCRxx",Default
//在根键HKEY_CLASSES_ROOT之下新建主键"xx",并置其默认值为空
WriteRegistry.RegWrite "HKCRxx","xxx"
//在根键HKEY_CLASSES_ROOT之下新建主键"xx",并置其默认值为xxx"
WriteRegistry.RegWrite "HKCRxxvalue1","string"
//在主键"xx"之下新建一个字符串型键值"value1",并置其初始值为"string"
WriteRegistry.RegWrite "HKCRxxvalue2",1,"REG_DWORD"
//在主键"xx"之下新建一个REG_DWORD型键值"value2",并置其初始值为1
WriteRegistry.RegWrite "HKCRxxvalue3",0Xff,"REG_BINARY"
//在主键"xx"之下新建一个二进制型键值"value3",并置其初始值为十六进制的"ff"
看不懂没关系,博主刚开始的时候也看不懂,我们要循序渐进,多码几次自然就明白了。
4.删除注册表(RegDelete)
有些键你看着不顺眼,想尽办法就是要让他从你电脑上消失,比如某些流氓软件写在你电脑上的残留信息,这时候就需要我们进行注册表的删除操作,该操作极其危险,无论什么主键和键值,无论他们对电脑有多么重要,它都能流畅的帮你把他弄没喽,所以在使用时务必小心!
删除操作比起前两个就简单多了。
Dim DeleteRegistry
Set DeleteRegistry=WScript.CreateObject("WScript.Shell")
DeleteRegistry.RegRead("HKCRxxvalue")
//删除"xx"主键之下的"value"键值
DeleteRegistry.RegRead("HKCRxx")
//删除根键HKEY_CLASSES_ROOT之下的"xx"主键
这里要警告大家一点:不要胡乱修改或删除注册表,如果一不小心把系统信息或程序信息破坏掉,可能会导致程序或系统的崩溃,如果非要这么干,请随时做好备份注册表或重装系统的准备!
结束语
到此,VBS对注册表的操作就结束了,东西不多,看着也很简单,但用起来却很爽,这也是我们实战时必不可少的操作。前几篇做足了铺垫,接下来的实战篇将为大家展示VBS真正的威力。
最后
以上就是瘦瘦蚂蚁为你收集整理的VBS带你领略脚本语言的快乐!(注册表篇)用VBS操作注册表的全部内容,希望文章能够帮你解决VBS带你领略脚本语言的快乐!(注册表篇)用VBS操作注册表所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复