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