C#他のプログラムを起動してアイドル状態になるまで待つ

スポンサーリンク

System.Diagnostics.Process クラスで起動したプログラムを、アイドル状態になるまで待機させるには、そのプロセスのインスタンスで、WaitForInputIdle メソッドを使用します。WaitForInputIdle メソッドを実行して制御が帰るまでは、呼び出し側のプログラムの描画はされません。

以下の例では、わざと重いファイルをメモ帳で開き、アイドル状態になるまで待機します。

サンプルコード

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

C# 全般
    // わざと重いファイルを Notepad で開く
    System.Diagnostics.Process hProcess = System.Diagnostics.Process.Start("Notepad", @"C:\Hoge.bmp");

    // アイドル状態になるまで待機する
    hProcess.WaitForInputIdle();

    // アイドル状態になった旨を表示する
    MessageBox.Show("メモ帳がアイドル状態になりました");

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

関連するリファレンス

準備中です。

スポンサーリンク