当我的应用程序开始调整时,我想知道它是否在最后一次运行,是否崩溃或成功关闭。请注意,应用程序应自行检测它,并且不要使用外部应用程序来检查它。
我如何使用 C# 做到这一点?
应用程序应该在某种持久性存储上设置一个“正常关闭”标志,作为关闭时它做的最后一件事。
当它启动时,检查是否设置了这个标志。如果没有,你上次运行时要么崩溃,要么被强行终止。如果是,请将其重置以准备当前运行。
您可以在 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
条件,没有它会很难调试,因为所有未处理的异常都会落在这里。