有什么办法让程序停止并在程序崩溃时退出程序?我正在使用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