脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - VBS - 学习 WSH 的理由小结

学习 WSH 的理由小结

2020-07-20 11:14脚本之家 VBS

最早学会用而且喜欢的一门编程语言应该是 VBS,虽然 C 比较早学,但学了后很长时间里没办法使用 C 来写程序,因为当时自己没钱买电脑,所以没有 C 编译器。

关于这个过程,可以参考我的另一篇文章《没有电脑的日子》之东搞搞西搞搞--搞中。

很多还不懂怎么学习编程的人问应该学什么语言?都会和他说:先提高境界,再学习技能;先了解自己的兴趣或者以后想做的事,才选择语言。如果学校教C和Java,您就只在这两个里选择,那么很抱歉,我只能说您是一坨屎!选择了语言,很大程度上就选择了开发方式,也就选择了相应的工作,那么这个相应的工作是不是您真正喜欢的?本末倒置的事常常发生在学生身上,习以为常了,大家就不知道应该先选择自己的兴趣,再考虑用什么系统,用什么语言等!

想说的只是做人很重要的一件事:追求自己的兴趣、发挥自己的长处,这是做任何事都一样的,学编程也一样,学WSH也一样,再看小的:WSH现在支持VBS和JS,从语法上看,VBS像VB,JS像Java,选择什么又是需要看您的兴趣。

这里,只说“编程”,不包括那些想学高级软件工程然后去管理别人的那部分。如果没兴趣,学编程是很累的,还是去搞管理、交际、销售等比较轻松点。如果您一定要问“编程”会比“管理”有前途?只能告诉您:兴趣!同时要忠告一些人,一定要注意自己的长处和短处,没有好的管理能力千万别硬要做管理,世袭的皇帝又有几个强的?他的手下有多少比他厉害,他都不清楚!如果您发现自己的能力发展方向,那就去深造,但是我看到有些人连自己的文件、邮件都不会管理,需要的时候满地找牙的,他的理想是管理一群精英。这样的人给我多少钱,我也不为他工作,除非他知道不要管我。我是个有能力管好自己,又知道怎么和别人交流协作的编程员,当然了,我不和垃圾协作。

Windows里整个世界充满COM,提供了丰富的可重用功能,VBS本身基本没什么功能,就只能调用COM来扩展出无限的功能,所以它就做得很容易调用COM,您可以认为它就是为了方便调用COM而产生的语言。

大学的时候给厦大软件学院的新生写过两篇介绍怎么入门编程的文章,其他有人写了C和Java等,写了VBS的。觉得用VBS几行代码就可以做很多事,很快可以了解编程可以做到什么,C和Java,说实在一篇文章写完最多只是知道它们可以用来解数学题,特别是C这种需要很长时间锻炼才知道它很无敌的语言,而Java最多也就顺带告诉新生它可以做网站。既然已经有人介绍了解数学题和做网站,那就说点厉害的!

VBS的HelloWorld只要一行:MsgBox"HelloWorld",不用编译,保存为*.VBS即可。语言大概也是最简单的一种语言了,很快就可以学会。当然这不是重点,前面说了它可以很方便调用COM,调用COM又能做什么呢?太多了,说不完,比如可以连接数据库,然后很方便的操作它;可以控制微软的Office来完成一些自动化工作;可以方便地调用WMI来管理Windows系统,基本上鼠标键盘可以做的,WMI都可以做;只要是标准安装的Windows都有(Windows95\97没有,98开始和之后都有)支持的特性可以让我们随时写一些小程序方便我们的其他工作,就像一些人喜欢用bat/cmd脚本,其实bat/cmd可以做的,VBS都可以做。

如果看过网盘里的脚本作品,就知道,那些程序都是.VBE后缀的文件,这其实是VBS程序加密后的文件,经过解密后就可以看到代码了。这些脚本都是比较实用的,在我的作品展示里有部分脚本作品的详细介绍(可以在我的空间里找Script)。我之所以喜欢用VBS来写这些工具,就是因为它方便,代码量小可以完成比较多的功能,同样功能用C来写要写不止2\3倍的代码。

个人觉得,如果是个好奇、敏感的人,学WSH对理解COM也是有很大帮助的。比如本人吧,看到CreateObject的字符串参数,就要想为什么这个字符串可以表示一个对象?然后去找答案,原来是在注册表里有注册,于是挖掘出ProgID和CLSID等COM的概念。后来很了解怎么调用COM组件了,于是开始不爽,一直在调用,也该自己写个组件玩玩了,这样就可以随心所欲扩展自己想要的功能,然后开始学习怎么写COM:听说VB写COM几乎和调用COM一样简单,一用,还真的是这样,根本就和用VB做普通程序一样!可后来发现了,还是不懂COM的内部实现,改用VC来写吧,马上就有微软军团的人告诉您应该用ATL,那就看看了,发现ATL把内部实现也给隐藏了,那就看看ATL的代码吧,靠,高手基本定型了!再来就直接用纯C实现COM,果然天下无敌!

学习WSH的理由只有:兴趣、好奇、方便写小工具。

延伸 · 阅读

精彩推荐