В моем приложении я хочу открыть файл * .rtf, а затем дождаться его закрытия. Часто у пользователя есть MS Word, чтобы открыть файлы * .rtf, и вот в чем проблема. Код ниже работает, но только когда процесс "WINWORD" еще не запущен. Когда это так, вызов Process.Start () открывает только новое окно Word, и большая часть данных из объекта Process становится пустой. Я не могу «ждать» процесса, потому что он вызывает исключение. Как я могу справиться с этим? Пожалуйста, помогите.
Process p = new Process();
p.StartInfo.FileName = @"C:\Users\UserName\Desktop\MyFile.rtf";
p.Start();
string name = p.ProcessName;
p.WaitForExit();
Console.WriteLine(name + " has exited");
Console.ReadKey();
* Edit:
Я проанализировал некоторые решения и заметил, что если приложение, с помощью которого пользователь открывает файл * .rtf, похоже на Word (может открывать много файлов во многих окнах), я должен ждать только своего окна * .rtf, а не весь процесс. Это было бы глупо. Проблема становится все более сложной. Пожалуйста, помогите.