-1

当我的应用程序开始调整时,我想知道它是否在最后一次运行,是否崩溃或成功关闭。请注意,应用程序应自行检测它,并且不要使用外部应用程序来检查它。

我如何使用 C# 做到这一点?

4

2 回答 2

6

应用程序应该在某种持久性存储上设置一个“正常关闭”标志,作为关闭时它做的最后一件事。

当它启动时,检查是否设置了这个标志。如果没有,你上次运行时要么崩溃,要么被强行终止。如果是,请将其重置以准备当前运行。

于 2013-02-07T10:27:27.360 回答
0

您可以在 Program.cs 中使用

#if !DEBUG
AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);
Application.ThreadException += new ThreadExceptionEventHandler(Application_ThreadException);
#endif

Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new FrmMain());

这样您将处理所有错误,您可以记录它们,甚至在出现严重故障时重新启动应用程序并为用户恢复会话。注意#if !DEBUG条件,没有它会很难调试,因为所有未处理的异常都会落在这里。

于 2013-02-07T10:37:46.763 回答