vbs脚本实现“多线程”下载

 

1、vbs脚本本身是不支持多线程的,即使用hta中的settimeout也是一样。
但是利用wscript.shell.run,可以曲线实现这一点:
在不用阻塞方式时,wscript.shell.run可以同时启动若干程序。
通过vbs自生复制成临时脚本,利用run反复加载,可以实现多进程运行。
通过wscript,arguments,能够简单传达参数。

 

2、"多线程"的控制
控制同时运行的脚本数量,在例如多线程下载时有特殊意义。
然而,wscript.shell.run不返回运行结果(否者只能逐一运行),vbs很难有效限制脚本的数目。
通过两种方法可以实现子脚本状态的监视:
    a、通过文件隧道,通过regedit,此方法稍微复杂,需要多写几行代码处理管道,但传递信息多。由于vbs的低级,尚不清楚并发操作管道文件可能带来的问题。
    b、通过wmi的Win32_Process监视,可了解运行状态

 

3、已成功利用microsoft.xmlhttp,adodb.stream,wscript.shell完成了一个多“线程”多任务下载的脚本程序,证实上面方法的可行性。缺陷是任务管理器出现若干wscript,非常不爽。

若使用hta,结合socket控件,使用脚本完成bitcomet一类任务视乎也不无可能,当然效率就很差了。

 

4、ps,有人提到vbs无法支持xmlhttp异步,其实并非如此,通过getref,可以实现异步,这在hta中意义较大,但是参数传递麻烦。

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值