保持该过程直到应用程序未关闭

时间:2014-09-17 04:12:57

标签: c# process

我知道有很多关于暂停流程的帖子,直到申请没有结束。

实际上我想要做的是当我使用Process.Start()方法在MS Word中加载word文件时,应用程序应该保持该过程,直到它没有被关闭。关闭这个word文件后,我也在数据库中更新它。所以我正在使用Process.WaitForExit()方法。但是,这种方法在某些机器上不起作用。所以,我在msdn中已经了解了这个问题,他们建议我将Process.StartInfo.UseShellExecute属性用于true。但是,即使UserName属性被绑定,它也会引发错误。所以我决定创建自己的方法来保持这个过程。

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.
}

但是,这种方法也行不通。 Process类对象的任何属性都没有任何值。 c.MainWindowTitle显示空白,c.HasExited抛出异常。

现在我被困在这里。我既不能使用Process.WaitForExit()也不能使用上述方法。我还有另一个选项WMI Query来返回当前流程作为此post中给出的解决方案。但是,我不认为这种方法适用于这种情况。 当我的操作系统未使用ShellExecute时。

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

任何帮助将不胜感激。

谢谢&此致

0 个答案:

没有答案