プロセスを起動する
プロセスを起動する方法を調べた。System.Diagnostics.Process クラスの Start メソッドで起動できるようだ。返されるのは Process クラスのインスタンス。WaitForExit メソッドで終了待機も可能。
private void Button_Click (object sender, RoutedEventArgs e) { var process = System.Diagnostics.Process.Start ("notepad.exe"); process.WaitForExit (); MessageBox.Show ("終了しました"); }
WaitForExit は完全にブロッキングして待機するが、EnableRaisingEvents プロパティを設定するとイベントを発火するようになる。GUI スレッドから起動する場合はこっちのがいいな。
private void Button_Click (object sender, RoutedEventArgs e) { var process = System.Diagnostics.Process.Start ("notepad.exe"); process.EnableRaisingEvents = true; process.Exited += new EventHandler (NotepadProcess_Exited); }
void NotepadProcess_Exited (object sender, EventArgs e) { MessageBox.Show ("終了しました"); }
トラックバック
- このエントリーにトラックバック:
- http://frog.raindrop.jp/cgi-bin/mt/mt-tb.cgi/2299
コメント