에 충돌했음을 감지합니다. 응용 프로그램이 작동하기 시작하면 충돌이 발생했거나 성공적으로 닫혔는지 여부를 알고 싶습니다. 응용 프로그램에서 자체를 감지하고이를 확인하기 위해 외부 응용 프로그램을 사용하지 않아야합니다.응용 프로그램의 마지막 실행이 C#
C#을 사용하여 어떻게 할 수 있습니까?
에 충돌했음을 감지합니다. 응용 프로그램이 작동하기 시작하면 충돌이 발생했거나 성공적으로 닫혔는지 여부를 알고 싶습니다. 응용 프로그램에서 자체를 감지하고이를 확인하기 위해 외부 응용 프로그램을 사용하지 않아야합니다.응용 프로그램의 마지막 실행이 C#
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());
당신이 모든 오류를 처리하는이 방법을 사용할 수 있습니다, 당신이 그들을 로그인하거나 심지어 치명적인 오류의 경우에는 응용 프로그램을 다시 시작하고 사용자에 대한 세션을 복원 할 수 있습니다. Notice #if !DEBUG
조건, 디버그하기 어려울 것입니다. 왜냐하면 처리되지 않은 예외가 모두 여기에 떨어지기 때문입니다.
의'Main()'은'try {} catch {}'안에 모든 것을 넣고 충돌보고 파일 등을 작성하는 코드와 같이 필요한 모든 코드를'catch {}'에 넣습니다. – Nolonar
당신은 다른 언어로도 똑같이 할 수 있습니다 ... 시작/정상 종료시에 설정/해제되는 외부 상태를 유지하십시오. 그래서 당신의 일을하는 것이 아닙니다 ... 일부 소스 코드를 보여주세요 ... 당신은 무엇을 시도 했습니까? 정확히 작동하지 않는 것은 무엇입니까? – Yahia
@Yahia : OP에는이 작업을 수행하는 방법에 대한 아이디어가 전혀 없을 수도 있습니다. 그들이 깃발을 사용해야한다는 것을 알았더라도 나는 여전히 당신과 같은 질문을 할 것입니다. – Jon