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

スポンサーリンク

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

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

サンプルコード

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

C# 全般
    // メモ帳を起動して、Process のインスタンスを取得する
    System.Diagnostics.Process hProcess = System.Diagnostics.Process.Start("Notepad");

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

    // メイン ウィンドウにクローズ メッセージを送信する
    if (! hProcess.CloseMainWindow()) {
        hProcess.Kill();  // 終了しなかった場合は強制終了する
    }

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

関連するリファレンス

準備中です。

スポンサーリンク