外部アプリケーションを強制終了する
System.Diagnostics.Processクラスで起動したプログラムを、呼び出し側から強制終了する方法を説明します。
強制終了にはKillメソッドを使用します。
Killメソッドによる強制終了
'アプリケーションを起動して、Processのインスタンスを取得する
Dim hPros As System.Diagnostics.Process = System.Diagnostics.Process.Start("Notepad")
'3秒ほど待機する
System.Threading.Thread.Sleep(3000)
'プロセスを強制終了する
hPros.Kill()
' 不要になった時点で破棄する
hPros.Close()
hPros.Dispose()
外部アプリケーションのメインウィンドウを閉じて終了する
System.Diagnostics.Processクラスで起動したプログラムを、呼び出し側から終了する方法を説明します。
アプリケーションを終了させるにはCloseMainWindowメソッドで、クローズメッセージを送信します。
CloseMainWindowメソッドは失敗した時にFalseを返しますので、失敗した際もは、Killメソッドで強制終了を行います。
CloseMainWindowメソッドで終了する
'アプリケーションを起動して、Processのインスタンスを取得する
Dim hPros As System.Diagnostics.Process = System.Diagnostics.Process.Start("Notepad")
'3秒ほど待機する
System.Threading.Thread.Sleep(3000)
'クローズメッセージを送信する
If hPros.CloseMainWindow() = False Then
hPros.Kill() '終了しなかった場合は強制終了する
End If
' 不要になった時点で破棄する
hPros.Close()
hPros.Dispose()