上次我已介紹如何運行外部程序,今天我繼續講這一話題: 1.有好多時,我們需要調用外部的EXE程序,并且要等它運行完畢,我們才可以繼續下面的動作,那我們怎樣去實現了,請看以下代碼. '怎樣等待外部程序運行完畢. '從系統資料夾讀入文件 Dim sysFolder As String = _ Environment.GetFolderPath(Environment.SpecialFolder.System) '創建一個新的進程結構 Dim pInfo As New ProcessStartInfo() '設置其成員FileName為系統資料的Eula.txt pInfo.FileName = sysFolder & "\eula.txt" '運行該文件 Dim p As Process = Process.Start(pInfo) '等待程序裝載完成 p.WaitForInputIdle() '等待進行程退出 p.WaitForExit() '繼續執行下面的代碼 MessageBox.Show("繼續執行代碼")
2.我們想在5秒鐘后,強行關閉它.而不是需要我手工關閉. '設置退出時間 Dim timeOut As Integer = 5000 Dim sysFolder As String = _ Environment.GetFolderPath(Environment.SpecialFolder.System) Dim pInfo As New ProcessStartInfo() pInfo.FileName = sysFolder & "\eula.txt" Dim p As Process = Process.Start(pInfo) p.WaitForInputIdle() p.WaitForExit(timeOut) '檢查是否在超時前已關閉了. If p.HasExited = False Then '進行程還在運行 '看進程有沒有回應 If p.Responding Then p.CloseMainWindow() '關閉窗口 Else p.Kill()'強行中斷 End If End If MessageBox.Show("繼續執行代碼")
|