【C#】外部アプリを実行し終了を待つ

C#

サンプルコード

Processクラスを使用してファイルを開きます。

開くファイルは、拡張子に関連付けられたアプリが起動します。
(例1)file.txt の場合 → テキストエディタが開く
(例2)file.exe file.exeそのものを実行する

その後、process.WaitForExit()メソッドでプロセスの修了を待ちます。

終了後は対象プロセスの終了コードを取得可能です。

★重要★Processクラスを使用するため、ファイル先頭に using System.Diagnostics; が必要です。

以下は、フォームアプリケーションでフォームにbutton1を配置し、クリックイベントに処理を記述する場合の例です。

// ★先頭に using System.Diagnostics; を付加すること

private void button1_Click(object sender, EventArgs e)
{
    try
    {
        string filePath = @"C:\path\to\your\file.txt";   // ★exeも実行可能

        // using ステートメントを使用してProcessオブジェクトを作成
        using (Process process = new Process())
        {
            process.StartInfo.FileName = filePath;

            process.Start();
            process.WaitForExit();

            int exitCode = process.ExitCode;
            Console.WriteLine("プロセス終了コード: " + exitCode);
        }
    }
    catch (Exception ex)
    {
        Console.WriteLine("エラーが発生しました: " + ex.Message);
    }
}
タイトルとURLをコピーしました