VB.NET他のプログラムのメインウィンドウを閉じて終了する

スポンサーリンク

System.Diagnostics.Process クラスで起動したプログラムを、呼び出し側から終了するには、CloseMainWindow メソッドで、メイン ウィンドウに対してクローズ メッセージを送信します。CloseMainWindow メソッドは失敗した時に False を返しますので、失敗した際も確実に終了できるように、強制終了を行う Kill メソッドを併用するのが普通です。

Kill メソッドについては、他のプログラムを強制終了する をご覧ください。

サンプルコード

以下にサンプルコードを示します。

VB.NET 全般
    ' メモ帳を起動して、Process のインスタンスを取得する
    Dim hProcess As System.Diagnostics.Process = System.Diagnostics.Process.Start("Notepad")

    ' 1000 ミリ秒 (1秒) 待機する
    System.Threading.Thread.Sleep(1000)

    ' メイン ウィンドウにクローズ メッセージを送信する
    If hProcess.CloseMainWindow() = False Then
        hProcess.Kill()  ' 終了しなかった場合は強制終了する
    End If

    ' 不要になった時点で破棄する (正しくは オブジェクトの破棄を保証する を参照)
    hProcess.Close()
    hProcess.Dispose()

関連するリファレンス

準備中です。

スポンサーリンク