這篇文章將為大家詳細(xì)講解有關(guān)怎么用VBS調(diào)用程序并對程序的運行情況進行監(jiān)控,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
在黃南州等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都做網(wǎng)站、網(wǎng)站設(shè)計 網(wǎng)站設(shè)計制作定制開發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站制作,成都全網(wǎng)營銷推廣,成都外貿(mào)網(wǎng)站建設(shè),黃南州網(wǎng)站建設(shè)費用合理。有同時要用一個CAE軟件調(diào)用外部程序,但是,通過這個CAE軟件調(diào)用外部程序以后,因為這個外部程序有參數(shù),調(diào)用方法寫在Bat文件里的,由CAE軟件來調(diào)用這個Bat,所以,CAE軟件沒辦法對調(diào)用的程序進行監(jiān)控,調(diào)用的程序還在運行當(dāng)中,準(zhǔn)備工作還沒完成,就到了下一流程,所以,造成流程出錯,我寫了兩個VBS代碼,通過它來調(diào)用就解決了這個問題!兩個小程序分別是按不同的方式來監(jiān)控的!
兩個程序的調(diào)用方式不一樣,一個是對系統(tǒng)進程進行監(jiān)控,一個是對程序生成的文件特征進行監(jiān)控!
第一個:
‘該程序用來配合SimCode調(diào)用其他程序,并對程序的運行情況做監(jiān)控,!
‘監(jiān)控方法是:查找程序的Log文件,如果有結(jié)束標(biāo)志,說明程序已經(jīng)執(zhí)行完畢!
Set WshShell=Wscript.CreateObject(”Wscript.Shell”)
WshShell.Run(”notepad.exe c:\kw.txt”)'調(diào)用的程序
wscript.sleep 2000′等待2秒鐘
Dim fso,ts,i
Do While Not i=1′當(dāng)i=1不成立時,一直循環(huán)!
set fso=Wscript.CreateObject(”Scripting.FileSystemObject”)
Set ts=fso.opentextfile(”c:\kw.txt”)'打開調(diào)用的程序日生的日志文件
Do While Not ts.AtEndOfStream'當(dāng)沒有到文件尾時循環(huán)
data=ucase(trim(ts.readline))'讀取日志文件中的一行
If instr(data,”O(jiān)K”) Then'查找上面讀取到的內(nèi)容是否存在程序運行完的標(biāo)志!此例中標(biāo)志為”O(jiān)K”
i=1′當(dāng)?shù)玫匠绦蜻\行完成的標(biāo)志時,傳遞一個值給Do循環(huán),使其結(jié)束循環(huán),不再對Log文件監(jiān)控
Exit Do
End If
loop
Set ts = nothing
Set fso = nothing'關(guān)閉創(chuàng)建的對象
wscript.sleep 2000′等待2秒后,進行下一輪對Log文件的監(jiān)控
loop
wscript.echo “OK!”‘給用戶一個反饋,調(diào)用的程序執(zhí)行完畢!真實使用時,應(yīng)該不要這一行!
第二個:
‘該程序用來配合SimCode調(diào)用其他程序,并對程序的運行情況做監(jiān)控,!
‘監(jiān)控方法是:對系統(tǒng)進程的監(jiān)控
Set WshShell = Wscript.CreateObject(”Wscript.Shell”)
allApp=”c:\windows\system32\notepad.exe” ‘寫下要調(diào)用的程序的完整路徑。
AppName=”notepad.exe” ‘寫下調(diào)用的程序的名稱.
WshShell.Run (allApp) ‘啟動調(diào)用的程序
dim AppPath
for each ps in getobject(”winmgmts:\\.\root\cimv2:win32_process”).instances_ ‘列出系統(tǒng)中所有正在運行的程序
if lcase(ps.name)=AppName then'檢測程序在進程中是否存在
AppPath=ps.commandline'提取程序的命令行
end if
next
do'循環(huán)檢測
myqqin=chkuin(App)'檢測上面得到命令行是否在進程中存在!
if not myqqin then'如果沒有運行則,告訴用戶,并且結(jié)束監(jiān)控!
msgbox “調(diào)用的程序已經(jīng)退出了!”‘實際使用中,請取掉這一行!
Exit do
else
wscript.sleep 3000′等待5秒
end if
loop'返回繼續(xù)檢測
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
關(guān)于“怎么用VBS調(diào)用程序并對程序的運行情況進行監(jiān)控”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
網(wǎng)站題目:怎么用VBS調(diào)用程序并對程序的運行情況進行監(jiān)控-創(chuàng)新互聯(lián)
分享地址:http://aaarwkj.com/article22/jcejc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動態(tài)網(wǎng)站、自適應(yīng)網(wǎng)站、網(wǎng)站導(dǎo)航、面包屑導(dǎo)航、做網(wǎng)站、網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容