下面这个是先执行程序后,然后再结束程序。
Dim Wsh
Set Wsh = WScript.CreateObject("WScript.Shell")
'下行是设置延时启动时间 5000等于5秒
WScript.Sleep()
'下行引号内填写服务器上批处理文件的共享路径
Wsh.Run "\\服务器\fuwu.exe",false,false
'下行是设置延时清除时间 5000等于5秒
WScript.Sleep()
'下行清除进程
Wsh.Run "taskkill /f /im fuwu.exe",
Set Wsh=NoThing
WScript.quit

如果只想打开程序可以使用下面的代码:

Dim Wsh
Set Wsh = WScript.CreateObject("WScript.Shell")
'下行是设置延时启动时间 5000等于5秒
WScript.Sleep()
'下行引号内填写服务器上批处理文件的共享路径
Wsh.Run "\\服务器\fuwu.exe",false,false
Set Wsh=NoThing
WScript.quit

如果只想关闭程序可以用下面的代码:

Dim Wsh
Set Wsh = WScript.CreateObject("WScript.Shell")
'下行是设置延时清除时间 5000等于5秒
WScript.Sleep()
'下行清除进程
Wsh.Run "taskkill /f /im fuwu.exe",
Set Wsh=NoThing
WScript.quit

将上面的代码保存为 xx.vbs ,双击就可以运行。

——————————————————————分割线————————————————————————————

用vbs打开文件

set ws=createobject("wscript.shell")
ws.run"打开文件所使用的程序+空格+程序路径",x,ture

Run方法有三个参数:
第一个参数:是你要执行的程序的路径,
第二个参数:是窗口的形式,0后台运行;1正常运行;2最小化;3最大化;缺省的话表示正常运行
第三个参数:是表示这个脚本是等待还是继续执行,如果设为了True,脚本就会等待调用的程序退出后再向后执行。

第二个参数可取值为下面为可选值:
0 隐藏一个窗口并激活另一个窗口。
1 激活并显示窗口。如果窗口处于最小化或最大化状态,则系统将其还原到原始大小和位置。第一次显示该窗口时,应用程序应指定此标志。
2 激活窗口并将其显示为最小化窗口。
3 激活窗口并将其显示为最大化窗口。
4 按最近的窗口大小和位置显示窗口。活动窗口保持活动状态。
5 激活窗口并按当前的大小和位置显示它。
6 最小化指定的窗口,并按照 Z 顺序激活下一个顶部窗口。
7 将窗口显示为最小化窗口。活动窗口保持活动状态。
8 将窗口显示为当前状态。活动窗口保持活动状态。
9 激活并显示窗口。如果窗口处于最小化或最大化状态,则系统将其还原到原始大小和位置。还原最小化窗口时,应用程序应指定此标志。
10 根据启动应用程序的程序状态来设置显示状态。

dim wsh
set wsh=wscript.createobject("wscript.shell") 
wsh.run "notepad.exe c:\test.vbs",1,ture '指定文件打开程序
wsh.run "c:\test.doc",1,ture '使用系统默认程序打开文件
set wsh=nothing

如果你希望使用记事本打开程序,而不是直接运行,那么就指定文件的打开程序。

例1:打开记事本和IE浏览器

Set ws = CreateObject("WScript.Shell")

ws.Run "notepad",,True

ws.Run "iexplore"

例2:隐藏BAT执行窗口

Set ws = CreateObject("WScript.Shell")

ws.Run "x.bat",0

例3:运行cmd命令,执行netstat并保存执行结果到x.txt

Set ws = CreateObject("WScript.Shell")

ws.Run "cmd /c netstat -an>>x.txt",0

例4:结束IE的进程

Set ws = CreateObject("WScript.Shell")

ws.Run "taskkill /f /im iexplore.exe",0

============================================================

补充:

这里有个类似的方法就是Exec 方法,具体看下面的例子


例1:运行文件

Set ws = CreateObject("WScript.Shell")

ws.Exec "notepad c:\x.txt" '对于Exec应指明程序,此notepad是必须的

例2:运行程序>获取进程PID值>强行结束进程(没有Run+taskkill强:如在记事本未保存的情况下结束进程,Exec会出错,而Run不会)>判断进程是否在运行(这个功能不错)

Set ws = CreateObject("WScript.Shell")

Set e = ws.Exec("notepad")

MsgBox e.ProcessId

e.Terminate

WSH.Sleep 1000

MsgBox e.Status '0为运行,1为结束

例3:直接获取dos命令输出,dos窗口会闪一下,Exec没有窗口控制功能

Set ws = CreateObject("WScript.Shell")

Set e = ws.Exec("ipconfig")

MsgBox e.Stdout.ReadAll

例4:

Set ws = CreateObject("WScript.Shell")

Set e = ws.Exec("cmd /c echo Hi")

MsgBox e.Stdout.ReadAll

出处:http://wenwen.soso.com/z/q390167953.htm
出处:http://foxroom.diandian.com/post/2011-05-21/947745

使用VBS打开程序和关闭程序的更多相关文章

  1. 批处理--批量打开程序&批量关闭程序

    批量打开程序 start D:\work\RunSvr01\IceFire88.01.exe start D:\work\RunSvr02\IceFire88.02.exe start D:\work ...

  2. linux启动程序和关闭程序脚本

    关闭脚本: #!/bin/bash source /etc/profile log() { echo `date +[%Y-%m-%d" "%H:%M:%S]` $1 } log ...

  3. C# 程序的关闭 讲究解释

    程序的关闭是很讲究的,处理的不好的话,将软件连续开启和关闭,当数次后在启动软件后程序会崩溃.或者程序退出很慢.细节决定成败,一款好的软件应该从各方面都要做严格地反复地推敲,力争做到无可挑剔.    有 ...

  4. android的原理,为什么不需要手动关闭程序

    转自android的原理,为什么不需要手动关闭程序 不用在意剩余内存的大小,其实很多人都是把使用其他系统的习惯带过来来了. Andoird大多应用没有退出的设计其实是有道理的,这和系统对进程的调度机制 ...

  5. CMD命令利用tasklist与taskkill关闭程序

    昨天远程服务器后,服务器无故卡住了,鼠标各种延迟与无反应,想在进程管理器里关闭程序也卡住,想点击重启系统也卡死无反应.纠结后win+R打开了cmd用shutdown重启才算搞定.重启期间思考了下,如何 ...

  6. windows vbs启动多个应用程序并使程序最小化(显示桌面)

      windows vbs启动多个应用程序并使程序最小化(显示桌面) CreationTime--2018年7月26日11点18分 Author:Marydon 1.应用场景 每天开机后,都需要打开平 ...

  7. iOS 打开本地 其他应用程序(URL Types)

    iOS 打开本地其他应用程序(URL Types) /*前言废话:Xcode是神奇的,是我所见到的编译器中最为神奇的,如:它可以同时运行两个甚至更多Project到我们模拟器上,可以同时使用一个模拟器 ...

  8. 应用程序的关闭退出(在FMX中,Activity替代了Form的概念)

    在VCL中,关闭程序的主窗体也就意味着程序的主循环结束,主程序自然而然结束.所以在主窗体中使用窗体的关闭函数(Close)即可,如下: procedure TfrmMain.btncloseClick ...

  9. 以&运行在后台的程序,关闭terminal后,相应进进程自动关闭

    以&运行在后台的程序,关闭terminal后,相应进进程自动关闭

随机推荐

  1. springmvc的一个错误

    初学ssm,碰到一个错误,非注解的就没错,注解的就错了 找了半天,终于发现错误,真的很傻比啊,导入的springframework版本不一致... 都导入4.3.18版本的即可...

  2. Spring Cloud Feign组件

    采用Spring Cloud微服务框架后,经常会涉及到服务间调用,服务间调用采用了Feign组件. 由于之前有使用dubbo经验.dubbo的负载均衡策略(轮训.最小连接数.随机轮训.加权轮训),du ...

  3. ralink雷灵RT5370 for mac ox 10.8 驱动

    博主2013年一月份安装了黑苹果发现 1000BGN 这斯全球无解. 在多米网上买了个 ralink5370 芯片的网卡.结果好多时候,总是闪退纠结ing 最后找到在官网上找到一个驱动. 目测网速还可 ...

  4. MySQL 索引设计概要

    在关系型数据库中设计索引其实并不是复杂的事情,很多开发者都觉得设计索引能够提升数据库的性能,相关的知识一定非常复杂. 然而这种想法是不正确的,索引其实并不是一个多么高深莫测的东西,只要我们掌握一定的方 ...

  5. 剑指Offer——斐波那契数列

    题目描述: 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项.n<=39 分析: 递归解法肯定相当耗时. 因为当n=4时,程序是这样子递归运算的:Fibonacci( ...

  6. python2 一些错误处理

    python2各种问题 pip安装django出错:python2 -m pip install django 编码问题:Unicode Decode Error ascii codec can't ...

  7. select * 为什么不好? limit 1 为什么好? --mysql SQL语句优化

    问题一: Select * from  student;  这种语句不好 我的理解:根据Innode存储引擎以及网上的各种资料所说的innodb的B+树索引结构可以分析出,当在非聚集索引列上搜索若用s ...

  8. 收藏:几种开源许可证的区别!——By 阮一峰制作

    乌克兰程序员Paul Bagwell,画了一张分析图,下面是阮一峰制作的中文版,非常棒,绝对的好东西,收藏这张图供日后查看:

  9. jquery请求数据

    $(document).ready(function() { $.ajax({ url: "http://123.207.88.84:8080/zdm/AppApi/Search/Categ ...

  10. (4.8)SET ANSI_NULLS ON、SET QUOTED_IDENTIFIER ON

    T-SQL支持在与空值进行比较时,允许比较运算符返回 TRUE 或 FALSE. 通过设置 ANSI_NULLS OFF 可将此选项激活.当 ANSI_NULLS 为 OFF 时,如果 ColumnA ...