手机
当前位置:查字典教程网 >脚本专栏 >vbs >用VBS调用程序并对程序的运行情况进行监控的两个代码
用VBS调用程序并对程序的运行情况进行监控的两个代码
摘要:有同时要用一个CAE软件调用外部程序,但是,通过这个CAE软件调用外部程序以后,因为这个外部程序有参数,调用方法写在Bat文件里的,由CAE...

有同时要用一个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:windowssystem32notepad.exe”‘写下要调用的程序的完整路径。

AppName=”notepad.exe”‘写下调用的程序的名称.

WshShell.Run(allApp)‘启动调用的程序

dimAppPath

foreachpsingetobject(”winmgmts:.rootcimv2: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:.rootcimv2:win32_process”).instances_

iflcase(ps.name)=AppNamethen

AppPatht1=ps.commandline

ifAppPatht1=AppPaththenchkuin=trueendif

endif

next

endfunction

【用VBS调用程序并对程序的运行情况进行监控的两个代码】相关文章:

VBS获取外网IP地址并发送到指定邮箱的代码

利用VBS脚本修改联想笔记本BIOS密码的代码分享

获取远程机器共享目录的物理路径的代码

用VBS修改(设置)系统时间和日期的代码

用VBS修改IIS Metabase 的代码

用vbs实现将剪切板的unix格式的内容处理成pc格式的代码

用vbs对文本文件的内容进行排序

用vbs实现更改计算机的说明的代码

使用脚本调用系统的关机对话框实现代码

进程监控实现代码[vbs+bat]

精品推荐
分类导航