[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

VBS监视一个已启动的进程,如果进程结束,则重新启动

比如已经开了qq.exe 写一个vbs脚本监视qq.exe 直到qq.exe结束

'似乎有更专业的办法,我仅想到这样简劣
dim wmi,proc,info,flag,target
target="qq.exe":flag=false
set wmi=getobject("winmgmts:")
do
set proc=wmi.execquery("select * from win32_process")
for each info in proc
if info.name=target then flag=true
next
if flag=false then msgbox target & "已关闭!" :wscript.quit
flag=false
wscript.sleep 1000
loop
静水流深...

TOP

哈哈,梦想种子跑这里混了``
放着在其他论坛管理员不做来这里混`真有你的``
对于楼主这个问题,WMI已经是最好最方便的了
Software is like sex: it's better when it's free..!

TOP

谢谢在这里混得不错的高高在上的上年度被加分最多的菜鸟六级士官somebody提醒...
小弟佩服至极了!回去弄个人品投票,就知道结果是什么了…… o(∩_∩)o...
静水流深...

TOP

原帖由 梦想种子 于 2008-1-27 23:52 发表
'似乎有更专业的办法,我仅想到这样简劣
dim wmi,proc,info,flag,target
target="qq.exe":flag=false
set wmi=getobject("winmgmts:")
do
set proc=wmi.execquery("select * from win32_process")
for each in ...


不行,QQ还在启动,但却显示“qq.exe已关闭”,请问何解?

TOP

改进了一下2楼的代码
  1. set ws = CreateObject("WScript.Shell")
  2. target="qq.exe"
  3. set wmi=GetoOject("Winmgmts:")
  4. do
  5. flag=false
  6. set proc=wmi.ExecQuery("select * from win32_process")
  7. for each info in proc
  8.     if LCase(info.name)=LCase(target) then flag=true : exit for
  9. next
  10. if flag=false then ws.run """E:\Program Files\Tencent\QQ\qq.exe"""
  11. wscript.sleep 1000
  12. loop
复制代码
命令行参考:hh.exe ntcmds.chm::/ntcmds.htm
求助者请拿出诚心,别人才愿意奉献热心!
把查看手册形成条件反射!

TOP

返回列表