C# 保持流程,直到应用程序停止运行';不要关门

C# 保持流程,直到应用程序停止运行';不要关门,c#,process,C#,Process,我知道有很多帖子会一直到应用程序关闭为止 实际上,我想做的是,当我使用Process.Start()方法在MS word中加载word文件时,应用程序应该保持该进程,直到它没有关闭为止。关闭这个word文件后,我还在数据库中更新它。为此,我使用了Process.WaitForExit()方法。但是,这种方法在某些机器上不起作用。因此,我在中了解到这个问题,他们建议我使用Process.StartInfo.UseShellExecute属性来true。但是,即使财产被判刑,它也会抛出错误。所以我决

我知道有很多帖子会一直到应用程序关闭为止

实际上,我想做的是,当我使用
Process.Start()
方法在MS word中加载word文件时,应用程序应该保持该进程,直到它没有关闭为止。关闭这个word文件后,我还在数据库中更新它。为此,我使用了
Process.WaitForExit()
方法。但是,这种方法在某些机器上不起作用。因此,我在中了解到这个问题,他们建议我使用
Process.StartInfo.UseShellExecute
属性来
true
。但是,即使财产被判刑,它也会抛出错误。所以我决定创建自己的方法来保持这个过程

foreach (Process c in Process.GetProcessesByName("WINWORD"))
{
    while (c.MainWindowTitle.Contains("MyDOC NAME") && c.HasExited == false)
    {} //this loop will hold the process until Word application doesn't get exited.
}
但是,这种方法也不起作用。
进程
类对象的任何属性都没有任何值
c.MainWindowTitle
显示为空,
c.hasExit
引发异常

现在我被困在这里了。我既不能使用
Process.WaitForExit()
也不能使用上述方法。我还有另一个选项,可以将当前流程作为本文给出的解决方案返回。但是,我认为这种方法在这种情况下不适用当我的操作系统不使用ShellExecute时。

我只想保持这个过程直到应用程序关闭

任何帮助都将不胜感激


感谢和问候

请添加您已采取的调试步骤,以及您尝试的每种方法所遇到的问题。不幸的是,此问题发生在客户端的计算机上,而不是我的电脑上。因此,我无法调试它。通过在每个步骤上创建日志条目,我已经测试了这一点,并确定
c.MainWindowTitle
属性中没有文档标题。它显示空白。大约一年前,我在另一台安装了VS的电脑上也遇到了这个问题。正如我在问题c.MainWindowTitle显示为空,c.HasExited抛出异常。是否要求提供操作系统版本?中所述,进程对象未保留其任何属性的值。网络版?您在计算机上试过调试吗?他们有“调试”或“发布”版本吗?实际上,我的应用程序是为带有32位操作系统(Windows XP)的.Net 2.0构建的,客户端同时具有Windows XP(32位)和Windows 8(64位)两种类型的计算机,问题发生在64位PC上。但是,我也在安装了VS的Windows 7(64位)上对其进行了测试。在那台Windows7电脑上,它工作正常。你看过从Windows7到Windows8的API变化了吗?您是否知道.Net 2.0的EOL发生在2010年?