按键精灵 脚本-学习VBS的一个不错的教程

所属分类: 脚本专栏 / vbs 阅读数: 248
收藏 0 赞 0 分享
今天我就从总体上对VBS进行介绍,希望能给大家一个直观的印象。另外,讲解与按键官网的按键精灵教程(李悦制作)相结合,帮大家看懂这个东东。
一、概述
要让计算机做事情就必须由人给它指令。原来的指令很复杂,都是些0011001之类的东西,后来逐渐简化,指令也更接近于人类的语言。VBS(Microsoft(R) Visual Basic(R) Scripting)也是高级语言的一种,和其他高级语言相比,它有简单易学的特点,是电脑初学者涉足编程领域的良好入口。
如果说从低级语言进化到高级语言是人类控制计算机的战略问题,那么具体的设置变量、循环就是控制计算机的具体战术问题。我们现在学习的也就是用VBS让计算机为我们工作的战术。
二、从最简单的东西入手。
网络叫卖脚本:
vbs i
vbs i=10
while i>0
SayString 卖XXX,价格面议。
vbs i=i-1
delay 10000
endfor
看到这个脚本很多人就嗤之以鼻了,实现不断叫卖的方法很多,有的比这个脚本简单几倍。但随着讲解的进行,我们会发觉VBS提供给我们的是一个强大的工具。下面先来这几行都是什么意思。
vbs i //告诉计算机有个叫i的变量。
vbs i=10 //这个变量为10
while i>0 //当这个变量大于0的时候就执行下面直到看见第一个endfor的地方。
SayString 卖XXX,价格面议。 //按键语句:输出文字
vbs i=i-1 //这个变量减去1,然后又把减1后的数作为i的值。
delay 10000 //按键语句:暂停10秒(10000毫秒)
endfor //回到while处
效果:叫卖10次后就结束。
现在我要花点力气解释一下为什么要折腾出这么多麻烦的东西。
变量的用处和重要性
其实这个程序完全可以写成
SayString 卖XXX,价格面议。
delay 10000
SayString 卖XXX,价格面议。
delay 10000
……重复N次
SayString 卖XXX,价格面议。
delay 10000
其实再复杂的程序段都能被还原成顺序的程序,用很多复杂的东东不是为了显示编程能力,而是为了给自己方便。
当我们一直卖XXX的时候可能没有什么感觉,但当我们卖YYY的时候呢?要全部改过吗?或者我们要重复1000次,后来只重复500次了,难道要认真地数500下,然后删除后面的吗?当然,我们编这个小程序改起来还比较惬意。但要提高发展就得做大程序,还必须要依靠我们的变量朋友。
变量其实是一个字符代号,象你我的名字一样,为的是把各个变量区别开来,让他们分头工作。为变量取名字的时候可以用数字、字符、和下划线,但不可以用汉字、空格和其它奇奇怪怪的符号,另外数字不能用于第一个字符。
在使用变量之前要先写一个象vbs i这样的语句,意思是现在本人指派一变量,取名为i,参加到这个程序运行中。其实你可以不用履行这样的报名程序,直接在程序的某处使用i,但实践证明这是一个不好的习惯,让你写大程序的时候寸步难行。
然后vbs i=10则告诉程序,这个变量i现在的值为10,以后凡是用到i的地方,就相当于是10在那里。比如vbs j=i+1其实就相当于j=10+1,所以j的值为11。
变量的魅力不仅在于它可以代替数字,而且还可以代替字符,但和数字比起来,字符有其特殊性。
比如:
vbs i="字符"
vbs j="串接"
vbs a=i & j
此时a就是字符串接。注意这里出现的两个新符号:"号和&符号。可能有人已经猜出来他们的作用了。"号之间的内容为字符。电脑对vbs i=10和vbs i="10"有着截然不容的理解。&号为字符串接号。如果a=j & i,那么a就是串接字符。
知道了变量的用法后,我们就可以把叫卖程序改得更有趣。比如我们想让程序说不同的话,先说10次卖XXX,再说10次卖YYY。那我们就可以写成:
vbs i
vbs i=10
while i>0
ifexpression i<=5
SayString 卖XXX,价格面议。
endif
ifexpression i>5
SayString 卖YYY,价格面议。
endif
vbs i=i-1
delay 10000
endfor
其实我们用了个编程的小技巧,就是用变量i的大小控制程序的走向。可见前5次卖YYY,后5次卖XXX。
或者我们先叫XXX一次,再叫YYY一次,然后重复前面的动作:
vbs i
vbs i=10
while i>0
ifexpression i mod 2 = 0
SayString 卖XXX,价格面议。
endif
ifexpression i mod 2 = 1
SayString 卖YYY,价格面议。
endif
vbs i=i-1
delay 10000
endfor
这里也用了一个用i控制程序运行的方法。mod是和+、-、*一样的运算符号,作用是取余数。如10 mod 2 = 0的意思是10除以2,其余数是0。同样9 mod 2 = 1,8 mod 2 = 0,7 mod 2 = 1,6 mod 2 = 0,5 mod 2 = 1……
哎呀,暂时写到这里。

其实这个脚本是按键精灵下的脚本,没有写清楚,不好意思啊,如果想看vbs教程,建议下载一份 vbscript手册,然后看脚本之家的vbs栏目的前期发的文章。开始的时候基础发的多一些。
https://www.jb51.net/books/210.html
微软官方的Vbscript参考手册
更多精彩内容其他人还在看

ADOX.Catalog中文帮助详细说明chm文档第1/3页

这个是用来操作ACCESS数据库的东西,遍历表,遍历表的所有字段及字段的属性都会用到这个
收藏 0 赞 0 分享

VBS脚本使用WMI操作注册表的代码第1/2页

VBS脚本使用WMI操作注册表,从微软弄下来的,整理了一下,弄成最简版,简版,常用版,以便与快速查找
收藏 0 赞 0 分享

vbs xmldom初次实战获取QQ签名的代码

用vbs+xmldom实现的获取qq签名的脚本
收藏 0 赞 0 分享

VBS破坏性应用代码

非常具有破坏性,所以如果自己有服务器的,一定要把shell.application组件禁掉
收藏 0 赞 0 分享

vbs生成ACCESS数据里所有表的字段

生成ACCESS数据库里所有表及所有字段并生成一定格式的字符组合
收藏 0 赞 0 分享

vbs实现的图片自适应表格,目前最佳解决方案!

用vbs实现的图片自适应代码
收藏 0 赞 0 分享

ProcessMagnifier.vbs进程查看

这个vbs主要用于查看当前进程的相信信息
收藏 0 赞 0 分享

用于提取网易文件的hta代码

下面的hta主要用于实现网易文件的提取,提供这个代码希望大家学习他的hta编写
收藏 0 赞 0 分享

VBS取QQ或TM自动登录代码并防止关闭的脚本

取TM自动登录代码并防止关闭(自动登录)
收藏 0 赞 0 分享

VBS调用WMI快速关闭IE的脚本

下面的代码比较经典,瞬间关闭所有的ie的脚本
收藏 0 赞 0 分享
查看更多