有同時要用一個CAE軟件調用外部程序,但是,通過這個CAE軟件調用外部程序以后,因為這個外部程序有參數,調用方法寫在Bat文件里的,由CAE軟件來調用這個Bat,所以,CAE軟件沒辦法對調用的程序進行監控,調用的程序還在運行當中,準備工作還沒完成,就到了下一流程,所以,造成流程出錯,我寫了兩個VBS代碼,通過它來調用就解決了這個問題!兩個小程序分別是按不同的方式來監控的!
兩個程序的調用方式不一樣,一個是對系統進程進行監控,一個是對程序生成的文件特征進行監控!
第一個:
‘該程序用來配合SimCode調用其他程序,并對程序的運行情況做監控,!
‘監控方法是:查找程序的Log文件,如果有結束標志,說明程序已經執行完畢!
Set WshShell=Wscript.CreateObject(”Wscript.Shell”)
WshShell.Run(”notepad.exe c:\kw.txt”)'調用的程序
wscript.sleep 2000′等待2秒鐘
Dim fso,ts,i
Do While Not i=1′當i=1不成立時,一直循環!
set fso=Wscript.CreateObject(”Scripting.FileSystemObject”)
Set ts=fso.opentextfile(”c:\kw.txt”)'打開調用的程序日生的日志文件
Do While Not ts.AtEndOfStream'當沒有到文件尾時循環
data=ucase(trim(ts.readline))'讀取日志文件中的一行
If instr(data,”OK”) Then'查找上面讀取到的內容是否存在程序運行完的標志!此例中標志為”OK”
i=1′當得到程序運行完成的標志時,傳遞一個值給Do循環,使其結束循環,不再對Log文件監控
Exit Do
End If
loop
Set ts = nothing
Set fso = nothing'關閉創建的對象
wscript.sleep 2000′等待2秒后,進行下一輪對Log文件的監控
loop
wscript.echo “OK!”‘給用戶一個反饋,調用的程序執行完畢!真實使用時,應該不要這一行!
第二個:
‘該程序用來配合SimCode調用其他程序,并對程序的運行情況做監控,!
‘監控方法是:對系統進程的監控
Set WshShell = Wscript.CreateObject(”Wscript.Shell”)
allApp=”c:\windows\system32\notepad.exe” ‘寫下要調用的程序的完整路徑。
AppName=”notepad.exe” ‘寫下調用的程序的名稱.
WshShell.Run (allApp) ‘啟動調用的程序
dim AppPath
for each ps in getobject(”winmgmts:\\.\root\cimv2:win32_process”).instances_ ‘列出系統中所有正在運行的程序
if lcase(ps.name)=AppName then'檢測程序在進程中是否存在
AppPath=ps.commandline'提取程序的命令行
end if
next
do'循環檢測
myqqin=chkuin(App)'檢測上面得到命令行是否在進程中存在!
if not myqqin then'如果沒有運行則,告訴用戶,并且結束監控!
msgbox “調用的程序已經退出了!”‘實際使用中,請取掉這一行!
Exit do
else
wscript.sleep 3000′等待5秒
end if
loop'返回繼續檢測
function chkuin(App)
for each ps in getobject(”winmgmts:\\.\root\cimv2:win32_process”).instances_
if lcase(ps.name)=AppName then
AppPatht1=ps.commandline
if AppPatht1=AppPath then chkuin=true end if
end if
next
end function
用VBS調用程序并對程序的運行情況進行監控的兩個代碼
2020-07-05 11:19VBS教程網 VBS
有同時要用一個CAE軟件調用外部程序,但是,通過這個CAE軟件調用外部程序以后,因為這個外部程序有參數,調用方法寫在Bat文件里的,由CAE軟件來調用這個Bat,所以,CAE軟件沒辦法對調用的程序進行監控,調用的程序還在運行當中,準備工作
延伸 · 閱讀
- 2022-03-11SpringBoot實現監控Actuator,關閉redis監測
- 2022-03-08詳解Linux監控重要進程的實現方法
- 2022-03-02spring boot actuator監控超詳細教程
- 2022-03-02深入理解spring boot 監控
- 2022-02-28Prometheus監控實戰篇Nginx、Hbase操作詳解
- 2022-02-28易語言API熱鍵監控實例
精彩推薦
- VBS
VBS教程:屬性-AvailableSpace 屬性
VBS教程:屬性-AvailableSpace 屬性 ...
- VBS
可以定時自動關機的vbs腳本
這篇文章主要分享一段可以定時自動關機的vbs腳本代碼,有需要的童鞋可以學習下...
- VBS
腳本 MsAgent組件 微軟精靈 揪出系統自帶的寵物
你知道系統里有一個隱藏的寵物嗎? 將以下代碼保存為后綴為.vbs的文件,再雙擊運行,看看出來什么?一個可愛的魔法老人!還會說話、移動、吹喇叭…...
- VBS
VBS教程:正則表達式簡介 -建立正則表達式
建立正則表達式 構造正則表達式的方法和創建數學表達式的方法一樣。也就是用多種元字符與操作符將小的表達式結合在一起來創建更大的表達式。 可以...
- VBS
vbs base64 解密腳本代碼
解密base64的vbs小函數,支持英文與數字不支持中文。...
- VBS
提供個可以顯示農歷的VBS代碼
本文主要分享一段可以顯示農歷的VBS代碼,具有一定的參考價值,有需要的朋友可以了解一下...
- VBS
VBS教程:屬性-VolumeName 屬性
VBS教程:屬性-VolumeName 屬性...
- VBS
VBS教程:對象-Folders 集合
VBS教程:對象-Folders 集合...