C# 如何检测MSword是否打开了特定文件?

C# 如何检测MSword是否打开了特定文件?,c#,C#,我想用C#从Windows应用程序中打开word文件。 在按钮上,我调用了Process.start(),文件名为“Test.doc”。 文件名因情况而异 现在,我多次单击按钮,同一个文件启动的进程启动了许多word实例 我希望它应该为同一个文件打开一个实例,如果文件名更改,则只打开新实例 那么,我怎样才能检测到word是以某个文件名打开的呢 谢谢使用一个列表来跟踪正在运行的进程。因此: List<Process> processes = new List<Process>

我想用C#从Windows应用程序中打开word文件。 在按钮上,我调用了Process.start(),文件名为“Test.doc”。 文件名因情况而异

现在,我多次单击按钮,同一个文件启动的进程启动了许多word实例

我希望它应该为同一个文件打开一个实例,如果文件名更改,则只打开新实例

那么,我怎样才能检测到word是以某个文件名打开的呢


谢谢使用一个列表来跟踪正在运行的进程。因此:

List<Process> processes = new List<Process>();
List进程=新列表();
单击打开文件时:
a) 确保列表中没有包含文件名为的进程。(遍历列表,然后查看process.Filename并将其与要打开的文件进行比较)
b) 如果没有,请将您的流程添加到列表中,然后启动流程

然后使用


要知道进程是否已退出。当它结束时,从进程列表中删除它。

使用跟踪正在运行的进程的列表。因此:

List<Process> processes = new List<Process>();
List进程=新列表();
单击打开文件时:
a) 确保列表中没有包含文件名为的进程。(遍历列表,然后查看process.Filename并将其与要打开的文件进行比较)
b) 如果没有,请将您的流程添加到列表中,然后启动流程

然后使用


要知道进程是否已退出。当它结束时,从进程列表中删除它。

我想从Form closed事件中关闭word的所有打开实例。我迭代所有进程并杀死它们,但当我下次在word中打开同一个文件时,它会显示一些恢复选项。不管怎样,谢谢,我知道如何结束这个过程了。酷,是的,我不认为你能做什么,因为word可能不喜欢被其他人关闭,但我想你明白了!我想从FormClosed事件中关闭word的所有打开实例。我迭代所有进程并杀死它们,但当我下次在word中打开同一个文件时,它会显示一些恢复选项。不管怎样,谢谢,我知道如何结束这个过程了。酷,是的,我不认为你能做什么,因为word可能不喜欢被其他人关闭,但我想你明白了!