WaitForExit для программ типа MS Word — процесс уже запущен

#process #ms-word #system.diagnostics #waitforexit

#процесс #ms-word #система.диагностика #waitforexit

Вопрос:

В моем приложении я хочу открыть * .rtf-файл, а затем дождаться его закрытия. Часто пользователь использует MS Word для открытия файлов * .rtf, и вот в чем проблема. Приведенный ниже код работает, но только тогда, когда процесс «WINWORD» еще не запущен. Когда это произойдет, вызывающий процесс.Start() открывает только новое окно Word, и большая часть данных из объекта Process становится пустой. Я не могу «ждать» процесса, потому что он выдает исключение. Как я могу с этим справиться? Пожалуйста, помогите.

 Process p = new Process();
p.StartInfo.FileName = @"C:UsersUserNameDesktopMyFile.rtf";
p.Start();
string name = p.ProcessName;
p.WaitForExit();
Console.WriteLine(name   " has exited");
Console.ReadKey();
  

*Редактировать:
Я проанализировал некоторые решения, и я заметил, что если приложение, с помощью которого пользователь открывает файл * .rtf, похоже на Word (может открывать много файлов во многих окнах), я должен ждать только моего окна файла * .rtf, а не всего процесса. Это было бы глупо. Проблема становится все более и более сложной. Пожалуйста, помогите.