我在程序中編寫了一個功能,用戶可以編輯存儲在數據庫中的文檔,它將文檔保存到臨時文件夾,然後使用Process.Start將文檔啓動到編輯應用程序中,例如Microsoft Word。C#的Process.Start,如何防止重複使用現有應用程序的?
然後我的應用程序需要等待,直到他們已經關閉了被叫流程與此臨時文件夾中的新編輯的副本替換該文件在數據庫中。
下面的代碼,只要偉大工程作爲被叫應用尚未運行:
ProcessStartInfo pInfo = new ProcessStartInfo();
pInfo.FileName=TempFolder + Path.DirectorySeparatorChar + f.Name;
Process p = new Process();
p.StartInfo = pInfo;
p.Start();
//p is null at this point if called application was already running
//i.e. Microsoft Word is re-used instead of starting a fresh copy
p.WaitForInputIdle();
p.WaitForExit();
有沒有辦法來力開始一個全新的工藝或任何人都可以想別的辦法來處理這個。我真的不希望用戶能夠做任何事情在我的應用程序,直到他們已經關閉了所謂的過程,因爲我需要知道,如果他們編輯的文件或沒有在那個時間點,而不是後來當各種其他問題可能會蔓延。
編輯標籤纔會更加通用化,以便在更多供稿中看到問題。 – 2008-11-19 21:33:14