Дождитесь завершения процесса, а затем отобразите сообщение (C #) - PullRequest
5 голосов
/ 17 июля 2011

Я хотел бы иметь возможность наблюдать за процессом, пока он не завершится, и, если сообщение уже не существует, как это может быть достигнуто?

Ответы [ 3 ]

11 голосов
/ 17 июля 2011

Создать / присоединить к процессу, а затем либо использовать WaitForExit() для блокировки до его выхода, либо использовать событие OnExited, если вы не хотите, чтобы приложение блокировалось, пока оно ожидает его выхода.

От всей души рекомендую ознакомиться с документацией для Process - прямо здесь

8 голосов
/ 17 июля 2011

.NET Framework имеет встроенную поддержку для этого.Вам нужно использовать метод Process.Start , чтобы запустить процесс, а затем вызвать метод WaitForExit , который будет блокировать выполнение вашего приложения до тех пор, пока процесс, который вы начали, не завершится изакрыто.

Пример кода:

// Start the process.
Process proc = Process.Start("notepad.exe");  // TODO: NEVER hard-code strings!!!

// Wait for the process to end.
proc.WaitForExit();

// Show your message box.
MessageBox.Show("Process finished.");


Статья в базе знаний по теме: Как дождаться завершения обработки приложения с использованием Visual C #

1 голос
/ 17 июля 2011

Я думаю, это то, что вы хотите сделать:

System.Diagnostics.Process process=new System.Diagnostics.Process();
process.StartInfo.FileName = "process.exe";
process.Start();
process.WaitForExit();
//process ended
MessageBox.Show("Process terminated");
...