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",并置其初始值为1WriteRegistry.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真正的威力。
VBS带你领略脚本语言的快乐!(注册表篇)相关推荐
- VBS带你领略脚本语言的快乐!(实战篇—刷字数)
用VBS脚本刷爆搜狗输入法 前言 偶然一次打开了搜狗输入法的个人主页,看到这135万字,不禁想起当年高中时为了跟同学装逼,上课挂脚本刷字数的"光荣战绩",很快啊,我就在古老的硬 ...
- VBS带你领略脚本语言的快乐!(基础篇)
VBS基础知识 前言 经过了之前的VBS入门学习,相信大家对VBS脚本语言有了一定的了解,这篇文章将向大家展示VBS脚本语言的基础知识.这次废话不多说,直接上货! 一.注释 注释是 ...
- VBS带你领略脚本语言的快乐!(实战篇—死循环)
用VBS让电脑欲哭无泪 前言 经过了前面几章对VBS操作的了解,我们顺利的进入了令人期待的实战篇(其实是恶搞片).恶搞,,,呸,实战篇我依然会对代码进行解析,但不会像讲基础那样细节,如果有听不懂 ...
- VBS带你领略脚本语言的快乐!(入门篇)
VBS语言基础入门 前言 小弟初来乍到,自诩高中时曾自学过一点VBS脚本语言基础,感觉不错,想把学习到的东西记录下来,和大家分享一下,由于小弟我学艺不精,有误的地方还请多多指教. 入门篇是 ...
- 无法导入.reg:指定的文件不是注册脚本。你在注册表编辑器中只能导...解决办法(非常实用)
最近使用到了注册脚本的导入,但是每次导入都会报错:无法导入F:\桌面\wechat.reg:指定的文件不是注册脚本.你在注册表编辑器中只能导入二进位注册文件.reg!!! ...
- 程序员表白、恶搞代码 VBS 系统内置脚本语言详细教程(新手篇)
VBS 脚本语言概述 VBS 是一种 Windows 脚本语言,全称是 Microsoft Visual Basic Script Editon(微软公司可视化 BASIC 脚本版). VBS 是系统 ...
- 用脚本文件简单修改注册表(转)
用.vbs脚本,也就是script 脚本文件对注册表进行修改.如果您的爱机不支持VBscript,那么请您直接阅读第二部分.下面我通过一个例子自来解释脚本文件: ' Windows script Ho ...
- 使用脚本,直接修改注册表的值---设置win10背景色(保护色)
目录 ■修改注册表(手动) ■修改注册表(脚本化) ・修改 ・恢复 ■其他(注册表图片) === 前言,媳妇上班,不会修改win10系统背景色(她想弄成保护色),提供个脚本,一键修改. ■修改注册表( ...
- c语言强制写注册表,:注册表的认识以及用c语言编写一个“百分之一熊猫烧香”...
众所周知,熊猫烧香是一个威力强大的病毒.曾经的电脑只要被感染以后就只有重装系统这条路. 当然,现在可能对这种病毒已经有所防御,所以威胁没有以前那么大了. 熊猫烧香一个比较明显的特点就是会感染所有exe ...
最新文章
- 批量替换sqlserver数据库TEXT字段类型的数据
- 为什么微软要推 ADO.NET Data Services
- 数据分析体系构建那点事!
- python灰度图生成g代码_Python打造一个在线G代码生成器
- git 源代码自动检查_除了GitHub,你还知道那些免费源代码托管网站?
- Winform主窗体的设置
- HTML5学习笔记简明版(5):input的type超级类型
- 用于.NET环境的时间测试
- OSPF高级特性(华为设备)
- HTML5: HTML5 Geolocation(地理定位)
- 世嘉MD游戏开发【十三】:音乐和音效
- c语言实训报告 总结与展望,c语言实训报告总结范文四篇合集
- 常见计算机病毒有些什么症状,电脑中病毒的症状有哪些
- android 腾讯x5内核 浏览器
- python中time模块中的倒计时_python中的计时器timeit的使用方法
- 安卓杂记(六)仿“迷你飞信”更改用户头像
- 舰娘 html5 缓存,舰R魔改专用客户端
- 计算机怎么变成音乐,如何将电脑上的视频转换成mp3音频?
- Cause: java.sql.SQLException: Invalid value for getInt()
- 数据分析师使用统计数据的7种方式
热门文章
- python实现文本查重系统_NLP之gensim库python实现文本相似度/匹配/查重
- C++ 类中的 构造函数、拷贝构造函数、析构函数
- JavaScript学习笔记整理(六)
- Python—基于Flask框架调用百度接口实现语音识别功能
- 压缩算法在单片机升级中的应用
- 守护网络安全 呵护精神家园 --常见网络风险(二)
- 那些你熟悉而又陌生的函数
- Python数据分析之证券之星沪深A股基本信息爬取与分析
- 计算机网络网络适配器的作用是什么原因,网络适配器是什么东西?网络适配器主要功能...
- iOS开发-调用手机浏览器打开网址