[英]Get notified if started process exited
我正在運行WPF應用程序(進程A)。 從這個按鈕上單擊,我需要啟動另一個進程(進程B),它是WinForms應用程序。
現在我的問題是,是否通過單擊(X)按鈕關閉進程B的窗口,該按鈕會突然關閉進程B,然后如何通知此事件信息給進程A?
如果要使用Process.Start
執行外部應用程序,則可以使用WaitForExit
方法,該方法將保持光標直到應用程序不退出。 看一下此示例,以了解有關MSDN上的WaitForExit方法的更多信息。
為此,Process類具有一個Exited
事件。 您還必須將EnableRaisingEvents
設置為true
才能使用它:
private void ButtonClick(object sender, RoutedEventArgs e)
{
var process = new Process();
process.StartInfo.FileName = "cmd.exe";
process.EnableRaisingEvents = true;
process.Exited += ProcessExited;
process.Start();
startButton.IsEnabled = false;
}
private void ProcessExited(object sender, EventArgs e)
{
Dispatcher.BeginInvoke(new Action(() => startButton.IsEnabled = true));
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.