2016-09-15 41 views
-3

我有一個Windows應用程序,打開一個文件與Diagnostics.Process.Start(路徑),打開文件後,用戶可以修改它和我需要使用WCF將其保存到數據庫。當用戶保存或關閉文件時,是否可以從啓動過程的應用中檢測到? 感謝您的幫助當用戶關閉或保存文件後處理Diagnostics.Process.Start vb.net/c#

+0

它是什麼類型的文件? – Werdna

+0

如果你需要問,那麼可能不是。大量的單實例應用程序。當你再次啓動它們時,他們可以看到一個實例已經在運行,並要求該實例打開文件。像瀏覽器和Office應用程序這樣的大程序就是這樣工作的。 –

+0

他們是openoffice文本和電子表格文件(.odt和.ods) – Cris

回答

0

是的,您可以將一個退出事件監聽器添加到進程中,然後在用戶退出程序後執行所需的任何處理。下面是這個概念的一個簡單例子:

Public Class Form1 
    Private WithEvents p As New System.Diagnostics.Process 
    Public Event pEnd As EventHandler 

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load 
     p.StartInfo.FileName = "notepad.exe" 
     p.EnableRaisingEvents = True 
     p.Start() 
    End Sub 

    Private Sub p_Ended(ByVal sender As Object, ByVal e As System.EventArgs) Handles p.Exited 
     DoYourPostExitFileProcessing() 
    End Sub 
End Class 
+0

我試過了,但在關閉文件時不要輸入事件... – Cris

+0

您是在談論關閉文件,但讓程序繼續運行? – soohoonigan

+0

謝謝,它現在進入,我把p.enableRaisingEvents = True在p.Start之後,並在用戶關閉文件時成功觸發。有什麼方法可以知道用戶何時保存文件? – Cris