求问怎样让VBS根据进程判断依次运行2个可执行文件?

怎样让VBS判断A.exe在进程里存在,则执行B.exe程序;如果不存在则依次执行A.exe和B.exe程序依次执行A.exe和B.exe程序之间也可以停顿1~2秒... 怎样让VBS判断A.exe在进程里存在,则执行B.exe程序;如果不存在则依次执行A.exe和B.exe程序
依次执行A.exe和B.exe程序之间也可以停顿1~2秒
展开
 我来答
catkenzo
2012-01-09 · TA获得超过844个赞
知道小有建树答主
回答量:97
采纳率:0%
帮助的人:136万
展开全部
VBS版一个。全程手打,请笑纳~

on error resume next
dim objProcess

Set objWMIService =GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
set colProcessList = objWMIService.execquery("select * from win32_process where name='A.exe'")

Set oobjRun = CreateObject("Wscript.Shell")

If colProcessList.Count = 0 Then'如果返回0查询不到指定进程

oobjRun.Run "C:\A.exe", 1, True
'等待3秒
wscript.sleep 3000

oobjRun.Run "C:\B.exe", 1, True
else
oobjRun.Run "C:\B.exe", 1, True

End If
追问
辛苦你了,不过有个问题想问一下,在检测到A.exe已经存在进程里时脚本能将B.exe正常运行起来.
当A.exe不存在进程里时,这个脚本确实运行A.exe,但不运行B.exe,当我手动结束A.exe时B.exe跳出来运行了,
我纯粹不懂,还请你帮忙看一下有什么不对的地方没?
另:A.exe和B.exe在同一目录,不需要路径,只运行当前目录里的程序就行了.谢谢!
追答
原理:
1. 首先遍历所有进程,查找进程名等于A.EXE的进程
set colProcessList = objWMIService.execquery("select * from win32_process where name='A.exe'")

2. 根据colProcessList.Count 来判断进程是不是存在。如果是0,表示1 查询到的进程不存在。
1.进程不存在,启动A.EXE,
oobjRun.Run "C:\A.exe", 1, True
等待3秒
wscript.sleep 3000
启动B.EXE
oobjRun.Run "C:\B.exe", 1, True

1.进程存在,启动B.EXE,
oobjRun.Run "C:\B.exe", 1, True

你的问题
>> 当A.exe不存在进程里时,这个脚本确实运行A.exe,但不运行B.exe,
先运行A.EXE,等待A.EXE执行完毕。之后等待3秒,运行B.EXE

>>当我手动结束A.exe时B.exe跳出来运行了,
因为run的第三个参数导致等待进程A.EXE结束。产生延时。

如何解决
oobjRun.Run "C:\B.exe", 1, True 的。TRUE 改为FALSE即可。

on error resume next
dim objProcess

Set objWMIService =GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
set colProcessList = objWMIService.execquery("select * from win32_process where name='A.exe'")

Set oobjRun = CreateObject("Wscript.Shell")

If colProcessList.Count = 0 Then'如果返回0查询不到指定进程

oobjRun.Run "A.exe", 1, FALSE
'等待3秒
wscript.sleep 3000

oobjRun.Run "B.exe", 1, FALSE
else
oobjRun.Run "B.exe", 1, FALSE

End If
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式