簡體   English   中英

在啟動過程退出時獲得通知

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM