我有這樣的代碼:WaitForExit不工作時,應用程序已經運行
Process MSWprocess = new Process();
if (CommandToMSWord[1][1] == "Edit")
{
MSWprocess = Process.Start(PatientLetterDocx);
}
MSWprocess.WaitForExit();
if (CommandToMSWord[2][1].ToUpper() == "FALSE" && MSWprocess.HasExited)
{
File.Delete(PatientLetterDocx);
}
其中MSWprocess
將打開一個微軟Word文件,如果用戶想要自動保存這個退出,CommandToMSWord[2][1].ToUpper()
應爲TRUE,否則該文檔將在關閉MS Word文檔時被刪除。
當我第一次執行程序時,它會等到MS Word關閉。當第一個實例仍在運行時仍然運行同一程序的另一個實例(仍在等待MS字被關閉)時,第二個實例不再關心WaitForExit()
,並且由於程序是刪除仍然打開的文件。
我喜歡的是,即使程序同時運行多次,WaitForExit()
應該每次都做到這一點。
你有什麼想法,爲什麼這不適用於多個實例同時?
在此先感謝。
我編輯了我的給定代碼,這就是我的源代碼,所以我無法使用你的答案。 – spn