WaitForExit для программ типа MS Word - процесс уже запущен
В моем приложении я хочу открыть файл *.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();
* Редактировать: я проанализировал некоторые решения и заметил, что если приложение, с помощью которого пользователь открывает файл *.rtf, похоже на Word (может открывать много файлов во многих окнах), мне придется ждать только мой файл *.rtf. окно, а не весь процесс. Это было бы глупо. Проблема становится все более сложной. Пожалуйста помоги.