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

所属分类: 脚本专栏 / vbs 阅读数: 296
收藏 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参考手册
更多精彩内容其他人还在看

vbscript禁用 启用fso的方法

启用:regsvr32 scrrun.dll 禁用:regsvr32 /u scrrun.dll
收藏 0 赞 0 分享

getSQLinfo.vbs 获得SQL数据/日志空间使用情况的脚本

这个脚本可以获取SQL数据/日志的空间使用情况方便及时了解sql使用空间情况
收藏 0 赞 0 分享

高手必看的vbs的至尊境界

vbs高手总结出来的,看来我们真忽略了他的真正强大的地方
收藏 0 赞 0 分享

vbs 获取radmin注册表中的信息

用这个脚本真的很方便,轻松的获取radmin注册表中的信息 ,想想以前我们都是用cmd下导出注册表信息
收藏 0 赞 0 分享

vbs解答一道初中数学题i,x,y

vbs解答 一道初中数学题 i+100=x^2 i+168=y^2 求 i,x,y
收藏 0 赞 0 分享

vbs之自动安装驱动程序

目前各类万能驱动程序包在网络上屡见发布,在使用这些程序包的同时,我们不仅会问:为什么这些程序包中的驱动程序可以在安装新硬件之后自动安装呢?
收藏 0 赞 0 分享

vbs Windows系统改变或修改网卡的MAC地址的脚本与软件

这个文件比程序本身还大,感觉不爽,于是本人的VBS版MAC修改代码便诞生了,在使用过程中如果出现不能上网的情况得返回一下网卡驱动(有些机器比较特别)
收藏 0 赞 0 分享

让IIS建立的站点默认是.net 2.0的,而不是.net 1.1的代码

让IIS建立的站点默认是.net 2.0的,而不是.net 1.1的,没有使用WMI,所以在操作前先得停止IIS相关服务
收藏 0 赞 0 分享

VBS利用SendKeys输入中文字符的方法

Author:Trajon.BWL今天在网上随便闲逛,逛到一个帖子,这位迷茫的朋友想知道该怎么使用SendKeys的vbs方法来输入中文字符
收藏 0 赞 0 分享

vbs加administrator用户的代码

使用ADSI的Winnt对象,Windows2000后面的系统都属于NT系列
收藏 0 赞 0 分享
查看更多