找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 14880|回复: 5

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

[复制链接]
发表于 2008-1-27 00:04:06 | 显示全部楼层 |阅读模式
比如已经开了qq.exe 写一个vbs脚本监视qq.exe 直到qq.exe结束
发表于 2008-1-27 23:52:30 | 显示全部楼层
'似乎有更专业的办法,我仅想到这样简劣
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
发表于 2008-1-29 00:17:46 | 显示全部楼层
哈哈,梦想种子跑这里混了``
放着在其他论坛管理员不做来这里混`真有你的``
对于楼主这个问题,WMI已经是最好最方便的了
发表于 2008-2-17 15:33:41 | 显示全部楼层
谢谢在这里混得不错的高高在上的上年度被加分最多的菜鸟六级士官somebody提醒...
小弟佩服至极了!回去弄个人品投票,就知道结果是什么了…… o(∩_∩)o...
发表于 2008-9-25 10:01:00 | 显示全部楼层
原帖由 梦想种子 于 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已关闭”,请问何解?
发表于 2008-9-27 16:58:13 | 显示全部楼层
改进了一下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
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-16 23:46 , Processed in 0.017028 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表