我已經創建了一個基本讀寫一個Excel.exe進程的小應用程序。它基本上是一個計時器,記錄我在項目上使用的時間,然後將其存儲在Excel工作表中。然而,這很好,但我注意到,如果我手動打開Excel,在一些表單上工作,並且不保存並退出etcetc,那麼我的軟件使用的過程就會被破壞。發生同樣的事情,如果我手動關閉excel.exe過程,我的軟件不知道「。如何保護我從vb.net程序開始的進程?
所以我想知道是否有可能以某種方式保護excel.exe進程?爲了確保在此期間不能關閉或篡改它?
我已經創建了一個基本讀寫一個Excel.exe進程的小應用程序。它基本上是一個計時器,記錄我在項目上使用的時間,然後將其存儲在Excel工作表中。然而,這很好,但我注意到,如果我手動打開Excel,在一些表單上工作,並且不保存並退出etcetc,那麼我的軟件使用的過程就會被破壞。發生同樣的事情,如果我手動關閉excel.exe過程,我的軟件不知道「。如何保護我從vb.net程序開始的進程?
所以我想知道是否有可能以某種方式保護excel.exe進程?爲了確保在此期間不能關閉或篡改它?
讓我認爲並不需要你有運行所有的時間一個Excel過程的替代方法(畢竟,這也消耗了大量的系統資源):
讓您的應用程序記錄您的信息。每隔一段時間 - 例如,在工作條目完成或特定時間過後 - 打開Excel工作表,寫入數據並再次關閉(也關閉您自動執行的Excel過程)。此保存操作不應超過幾秒鐘,它將(主要)防止您遇到的問題。
事實上,由於Office自動化總是有點痛苦,所以更好的方法是輸出數據而不需要Excel過程。要做到這一點,你可以使用
您無法保護進程,但是您可以檢查process.HasExited屬性,以確定進程是否已終止並基於此進行操作。
添加異常處理程序。如果可能,請調用非拋出方法。
最後的建議聽起來是最適合我實際使用的。我從來沒有想過那:) – 2010-11-19 06:58:04