在我的应用程序中,我想打开 *.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 文件窗口,而不是整个过程。这将是愚蠢的。问题越来越复杂。请帮忙。