2010-07-09 80 views
1

我想在C#中的Windows應用程序中打開word文件。 在按鈕按鈕上單擊我稱爲Process.start()與文件名稱說「Test.doc」。 文件名稱因某種情況而異。如何檢測MSword是否打開特定的文件?

現在很多次我點擊按鈕進程啓動相同的文件,它開始了許多單詞的實例。

我希望它應該爲同一個文件打開一個實例,如果文件名更改,那麼只能打開新的實例。

那麼我怎麼能檢測到這個詞是打開一些文件名?

謝謝

回答

1

使用一個列表來保持正在運行的進程的跟蹤。所以:

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

當你點擊打開文件:
一)確保列表中不包含您的文件名的過程。 (遍歷列表,然後查看process.Filename並將其與您想要打開的文件進行比較)
b)如果不存在,請將您的進程添加到列表中,然後啓動進程。

然後使用

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

要知道,如果進程已退出。當它結束時,從流程列表中擺脫它。

+0

好,讓我們來檢查一下。 – prashant 2010-07-09 09:10:36

+0

我想從Form關閉事件中關閉所有打開的單詞實例。 我迭代所有進程並殺死它們,但是當我下次打開文件中的同一個文件時,它會顯示一些恢復選項。 無論如何謝謝 – prashant 2010-07-09 12:59:52

+0

我知道如何關閉這個過程。 – prashant 2010-07-10 12:06:48