ProcessStartInfo.UseShellExecute = true и ожидает завершения процесса - PullRequest
4 голосов
/ 31 августа 2010

Я хочу использовать исполняемый файл оболочки для соблюдения пользовательских настроек запускаемого приложения, но мне также нужно знать, когда это конкретное приложение закрыто.

Process editProcess = new Process();
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = filename;
startInfo.Verb = "edit";
startInfo.UseShellExecute = true;
editProcess.StartInfo = startInfo;

// start the default editor
editProcess.Start();
editProcess.WaitForExit();

Кажется, что WaitForExit возвращается при выходе из процесса оболочки, а не при выходе из реального процесса.

Есть ли лучший способ узнать, когда завершается запущенное приложение, чем ручной анализ реестра, найти правильное приложение для запуска и явного запуска этого приложения без выполнения оболочки?

1 Ответ

1 голос
/ 31 августа 2010

Обработка события завершения процесса:

editProcess.Exited += process_Exited;
...