有什麼辦法讓程序停止並在程序崩潰時退出程序?我正在使用C#開發程序,它運行的機器是32位Windows 7 Professional機器。崩潰時自動退出程序?
因此,例如,當我X.exe崩潰,有2個選項一個小的彈出窗口上來: 1 - 尋找解決方案在線。 2 - 停止X.exe
我希望自動選擇第二個選項並停止我的程序。我有另一個監視X.exe的程序,所以當X.exe停止時,它會啓動一個新的X.exe實例。
有什麼辦法讓程序停止並在程序崩潰時退出程序?我正在使用C#開發程序,它運行的機器是32位Windows 7 Professional機器。崩潰時自動退出程序?
因此,例如,當我X.exe崩潰,有2個選項一個小的彈出窗口上來: 1 - 尋找解決方案在線。 2 - 停止X.exe
我希望自動選擇第二個選項並停止我的程序。我有另一個監視X.exe的程序,所以當X.exe停止時,它會啓動一個新的X.exe實例。
您可以爲未處理的異常添加全局異常處理程序。該處理器總是被調用時,你的程序沒有處理運行時的異常,這將導致PROGRAMM崩潰:
在WPF的應用程序,你可以添加處理程序是這樣的:
App.Current.DispatcherUnhandledException += new System.Windows.Threading.DispatcherUnhandledExceptionEventHandler(Current_DispatcherUnhandledException);
同爲的WinForms :
System.Windows.Forms.Application.ThreadException += new ThreadExceptionEventHandler(OnThreadException);
而對於控制檯應用程序:
System.AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(OnUnhandledException);
ŧ他的代碼應該引導你的方式:
public static void Main(string[] args)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
// catch app errors
Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);
try
{
Application.Run(new Form());
}
catch (Exception exc)
{
// show popupform
PopupForm popup = new PopupForm();
if(popup.ShowDialog() == DialogResult.OK)
{
Application.Restart();
}
else
{
Application.Exit();
}
}
}
static void Application_ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e)
{
// show popupform
PopupForm popup = new PopupForm();
if(popup.ShowDialog() == DialogResult.OK)
{
Application.Restart();
}
else
{
Application.Exit();
}
}
了Lg warappa