2009-08-04 37 views

回答

15

您可以使用Windows Vista中引入的應用程序恢復&重新啓動管理器API。這是一個非託管(C)API,但在Windows API Code Pack中有可用的託管包裝。

無論如何,這是一個很好的功能添加到您的應用程序,因爲它提供了一個更好的經驗,如果(當!)你的應用程序崩潰。你甚至可以編寫一個回調函數來保存關於用戶正在做什麼的信息,然後在應用程序重新啓動時恢復該狀態。

最基本的使用API​​將是隻需添加以下行某處應用程序的啓動:

ApplicationRestartRecoveryManager.RegisterForApplicationRestart(new RestartSettings("restart", RestartRestrictions.None)); 
+0

+1暗示東西是明確設計的任務。 :) – 2009-08-04 11:56:00

3

因爲這是在您調試應用程序時的臨時修復,所以有一種可能性是欺騙並使用引導程序/啓動應用程序,其唯一工作是監視有問題的應用程序。通過System.Diagnostics.Process類的Start方法啓動問題應用程序,然後偶爾監視返回的Process'Responding屬性。如果沒有迴應,請做你需要做的事情。

重要的是,只有當你解決真正的問題時才能做到這一點,當然。長期做這樣的事情有很多小問題。

相關問題