佳木斯湛栽影视文化发展公司

主頁 > 知識(shí)庫(kù) > 用VBS調(diào)用程序并對(duì)程序的運(yùn)行情況進(jìn)行監(jiān)控的兩個(gè)代碼

用VBS調(diào)用程序并對(duì)程序的運(yùn)行情況進(jìn)行監(jiān)控的兩個(gè)代碼

熱門標(biāo)簽:檢查注冊(cè)表項(xiàng) 美圖手機(jī) 呼叫中心市場(chǎng)需求 鐵路電話系統(tǒng) 智能手機(jī) 銀行業(yè)務(wù) 服務(wù)器配置 網(wǎng)站文章發(fā)布
有同時(shí)要用一個(gè)CAE軟件調(diào)用外部程序,但是,通過這個(gè)CAE軟件調(diào)用外部程序以后,因?yàn)檫@個(gè)外部程序有參數(shù),調(diào)用方法寫在Bat文件里的,由CAE軟件來調(diào)用這個(gè)Bat,所以,CAE軟件沒辦法對(duì)調(diào)用的程序進(jìn)行監(jiān)控,調(diào)用的程序還在運(yùn)行當(dāng)中,準(zhǔn)備工作還沒完成,就到了下一流程,所以,造成流程出錯(cuò),我寫了兩個(gè)VBS代碼,通過它來調(diào)用就解決了這個(gè)問題!兩個(gè)小程序分別是按不同的方式來監(jiān)控的!

   兩個(gè)程序的調(diào)用方式不一樣,一個(gè)是對(duì)系統(tǒng)進(jìn)程進(jìn)行監(jiān)控,一個(gè)是對(duì)程序生成的文件特征進(jìn)行監(jiān)控!

第一個(gè):

‘該程序用來配合SimCode調(diào)用其他程序,并對(duì)程序的運(yùn)行情況做監(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不成立時(shí),一直循環(huán)!
 set fso=Wscript.CreateObject(”Scripting.FileSystemObject”)
 Set ts=fso.opentextfile(”c:\kw.txt”)'打開調(diào)用的程序日生的日志文件
 Do While Not ts.AtEndOfStream'當(dāng)沒有到文件尾時(shí)循環(huán)
  data=ucase(trim(ts.readline))'讀取日志文件中的一行
  If instr(data,”O(jiān)K”) Then'查找上面讀取到的內(nèi)容是否存在程序運(yùn)行完的標(biāo)志!此例中標(biāo)志為”O(jiān)K”
  i=1′當(dāng)?shù)玫匠绦蜻\(yùn)行完成的標(biāo)志時(shí),傳遞一個(gè)值給Do循環(huán),使其結(jié)束循環(huán),不再對(duì)Log文件監(jiān)控
  Exit Do
  End If
 loop
Set ts = nothing
Set fso = nothing'關(guān)閉創(chuàng)建的對(duì)象
wscript.sleep 2000′等待2秒后,進(jìn)行下一輪對(duì)Log文件的監(jiān)控
loop
wscript.echo “OK!”‘給用戶一個(gè)反饋,調(diào)用的程序執(zhí)行完畢!真實(shí)使用時(shí),應(yīng)該不要這一行!
第二個(gè):

 

‘該程序用來配合SimCode調(diào)用其他程序,并對(duì)程序的運(yùn)行情況做監(jiān)控,!
‘監(jiān)控方法是:對(duì)系統(tǒng)進(jìn)程的監(jiān)控
Set WshShell = Wscript.CreateObject(”Wscript.Shell”)
allApp=”c:\windows\system32\notepad.exe”  ‘寫下要調(diào)用的程序的完整路徑。
AppName=”notepad.exe”  ‘寫下調(diào)用的程序的名稱.
WshShell.Run (allApp) ‘啟動(dòng)調(diào)用的程序

dim AppPath
for each ps in getobject(”winmgmts:\\.\root\cimv2:win32_process”).instances_ ‘列出系統(tǒng)中所有正在運(yùn)行的程序
if lcase(ps.name)=AppName then'檢測(cè)程序在進(jìn)程中是否存在
AppPath=ps.commandline'提取程序的命令行
end if
next

do'循環(huán)檢測(cè)
myqqin=chkuin(App)'檢測(cè)上面得到命令行是否在進(jìn)程中存在!
if not myqqin then'如果沒有運(yùn)行則,告訴用戶,并且結(jié)束監(jiān)控!
msgbox “調(diào)用的程序已經(jīng)退出了!”‘實(shí)際使用中,請(qǐng)取掉這一行!
Exit do
else
wscript.sleep 3000′等待5秒
end if
loop'返回繼續(xù)檢測(cè)

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定期監(jiān)控 值個(gè)班,定期瞄一下
  • 磁盤IO利用率監(jiān)控VBS腳本(windows)
  • VBScript 監(jiān)控并結(jié)束指定進(jìn)程的代碼
  • VBScript 監(jiān)控磁盤更改事件實(shí)現(xiàn)代碼
  • VBS監(jiān)控CPU的使用率(如占用率一直維持在80%超過30秒則運(yùn)行某程序)
  • 網(wǎng)絡(luò)接口利用率監(jiān)控VBS腳本代碼(Windows)
  • 進(jìn)程監(jiān)控實(shí)現(xiàn)代碼[vbs+bat]
  • 如何使用vb 監(jiān)控電腦活動(dòng)記錄

標(biāo)簽:上海 樂山 滄州 新疆 長(zhǎng)治 沈陽 紅河 河南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《用VBS調(diào)用程序并對(duì)程序的運(yùn)行情況進(jìn)行監(jiān)控的兩個(gè)代碼》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    徐汇区| 彰武县| 永登县| 南投县| 洪江市| 绍兴县| 漠河县| 江孜县| 固安县| 宁德市| 鲁山县| 扎赉特旗| 琼结县| 抚宁县| 界首市| 台前县| 饶阳县| 宿州市| 澄江县| 普格县| 玛沁县| 故城县| 陇南市| 府谷县| 沂水县| 青田县| 门头沟区| 米脂县| 巴南区| 兴仁县| 兴山县| 林口县| 康定县| 福州市| 沿河| 建瓯市| 永吉县| 灵川县| 山东| 视频| 象山县|