我有一個WinForms應用程序,我提供版本鏈接Word文檔。當用戶點擊鏈接時,它將打開Word文檔。我的要求是,他們打開Word文檔,執行更改,保存並關閉文檔,以檢測已做出的更改並將帶有新版本的副本上載到數據庫。的WinForms - 處理Word文檔關閉事件
我當前已完成了以下:
ProcessStartInfo psi = new ProcessStartInfo(FilePath) { UseShellExecute = true };
Process process = Process.Start(psi);
process.EnableRaisingEvents = true;
process.Exited += process_Exited;
這似乎像它應該然而,工作得很好,我遇到了一些問題:
- 用戶只需關閉該實際文檔而不關閉Word和Exited事件永遠不會觸發。
- 如果Word在點擊鏈接打開文檔時已經打開,則Process.Start方法返回null。
- 我的用戶可以關閉WinForms應用程序,並且Word文檔可能仍處於打開狀態。這可能會造成問題,因爲用戶可能會在關閉應用程序後進行更改,並且更改不會持久保存到數據庫。
是否有我實現我想要的結果的任何其他的選擇嗎?有沒有人做過類似的事情,可以提供任何方向來解決我的問題?
感謝您的任何援助。
我想你不妨試試的話COM庫,我不記得,如果他們有這樣的活動,截至目前,但它可能是值得檢查出來的。 – Machinarius 2010-12-03 14:05:22