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

スポンサーリンク

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

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

サンプルコード

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

VB.NET 全般
    ' わざと重いファイルを Notepad で開く
    Dim hProcess As System.Diagnostics.Process = System.Diagnostics.Process.Start("Notepad", "C:\Hoge.bmp")

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

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

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

関連するリファレンス

準備中です。

スポンサーリンク