用VBS调用程序并对程序的运行情况进行监控的两个代码
作者 佚名
来源 ASP编程
浏览
发布时间 2013-07-09
有同时要用一个CAE软件调用外部程序,但是,通过这个CAE软件调用外部程序以后,因为这个外部程序有参数,调用方法写在Bat文件里的,由CAE软件来调用这个Bat,所以,CAE软件没办法对调用的程序进行监控,调用的程序还在运行当中,准备工作还没完成,就到了下一流程,所以,造成流程出错,我写了两个VBS代码,通过它来调用就解决了这个问题!两个小程序分别是按不同的方式来监控的! 两个程序的调用方式不一样,一个是对系统进程进行监控,一个是对程序生成的文件特征进行监控! 第一个: ‘该程序用来配合SimCode调用其他程序,并对程序的运行情况做监控,! ‘监控方法是:查找程序的Log文件,如果有结束标志,说明程序已经执行完毕! SetWshShell=Wscript.CreateObject(”Wscript.Shell”) WshShell.Run(”notepad.exec:\kw.txt”)''调用的程序 wscript.sleep2000′等待2秒钟 Dimfso,ts,i DoWhileNoti=1′当i=1不成立时,一直循环! setfso=Wscript.CreateObject(”Scripting.FileSystemObject”) Setts=fso.opentextfile(”c:\kw.txt”)''打开调用的程序日生的日志文件 DoWhileNotts.AtEndOfStream''当没有到文件尾时循环 data=ucase(trim(ts.readline))''读取日志文件中的一行 Ifinstr(data,”OK”)Then''查找上面读取到的内容是否存在程序运行完的标志!此例中标志为”OK” i=1′当得到程序运行完成的标志时,传递一个值给Do循环,使其结束循环,不再对Log文件监控 ExitDo EndIf loop Setts=nothing Setfso=nothing''关闭创建的对象 wscript.sleep2000′等待2秒后,进行下一轮对Log文件的监控 loop wscript.echo“OK!”‘给用户一个反馈,调用的程序执行完毕!真实使用时,应该不要这一行! 第二个: ‘该程序用来配合SimCode调用其他程序,并对程序的运行情况做监控,! ‘监控方法是:对系统进程的监控 SetWshShell=Wscript.CreateObject(”Wscript.Shell”) allApp=”c:\windows\system32\notepad.exe”‘写下要调用的程序的完整路径。 AppName=”notepad.exe”‘写下调用的程序的名称. WshShell.Run(allApp)‘启动调用的程序 dimAppPath foreachpsingetobject(”winmgmts:\\.\root\cimv2:win32_process”).instances_‘列出系统中所有正在运行的程序 iflcase(ps.name)=AppNamethen''检测程序在进程中是否存在 AppPath=ps.commandline''提取程序的命令行 endif next do''循环检测 myqqin=chkuin(App)''检测上面得到命令行是否在进程中存在! ifnotmyqqinthen''如果没有运行则,告诉用户,并且结束监控! msgbox“调用的程序已经退出了!”‘实际使用中,请取掉这一行! Exitdo else wscript.sleep3000′等待5秒 endif loop''返回继续检测 functionchkuin(App) foreachpsingetobject(”winmgmts:\\.\root\cimv2:win32_process”).instances_ iflcase(ps.name)=AppNamethen AppPatht1=ps.commandline ifAppPatht1=AppPaththenchkuin=trueendif endif next endfunction |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: 创建Guid 的代码下一篇: 用vbs从本地 Administrators 组中删除组
关于用VBS调用程序并对程序的运行情况进行监控的两个代码的所有评论