如何检测MSword是用特定文件打开的?

时间:2010-07-09 07:37:33

标签: c#

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

现在很多次我单击按钮Process with same file,它启动了许多单词实例。

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

那我怎么能用一些文件名来检测那个单词呢?

由于

1 个答案:

答案 0 :(得分:1)

使用一个列表来跟踪正在运行的进程。所以:

List<Process> processes = new List<Process>();

单击以打开文件时:
a)确保列表中没有包含文件名的进程。 (遍历列表然后查看process.Filename并将其与您要打开的文件进行比较)
b)如果没有,将您的流程添加到列表中,然后开始流程。

然后使用

http://msdn.microsoft.com/en-us/library/system.diagnostics.process.exited.aspx

了解该流程是否已退出。当它结束时,从你的进程列表中删除它。