같은 응용 프로그램을 두 개 이상 실행을 방지할 필요가 있습니다. 특히 통신 포트 등을 사용할 때는 중복 실행을 방지할 필요가 있습니다.
다음과 같이해서 현재 프로그램을 가져옵니다.
string current_prog = System.Diagnostics.Process.GetCurrentProcess().ProcessName.ToUpper();
GetProcessesByName()을 이용해서 현재 프로그램이 몇 개 동작하는지 p에 기록합니다. 즉 p의 수량이 1이 아니면 중복으로 프로그램이 동작중임을 알 수 있습니다.
System.Diagnostics.Process[] p = System.Diagnostics.Process.GetProcessesByName(current_prog);
c#의 Prgram의 Main() 안에 다음과 같이 입력해서 중복 실행을 방지합니다.
string current_prog = System.Diagnostics.Process.GetCurrentProcess().ProcessName.ToUpper();
System.Diagnostics.Process[] p = System.Diagnostics.Process.GetProcessesByName(current_prog);
if(p.Length>1){
return; // Main()을 종료해서 중복 실행을 방지
}
//- 아래에 실행 코드 추가
참조
https://kdsoft-zeros.tistory.com/45?category=846221
광고좀 꾹 눌러주시면 고맙겠습니다.
위의 내용을 참조용으로만 사용해주세요. 무단 도용이나 무단 복제는 불허합니다.
기타 문의 사항은 gigasound@naver.com에 남겨 주시면 고맙겠습니다.
'C#, MONO' 카테고리의 다른 글
INI 파일 다루기 (0) | 2021.08.14 |
---|---|
OS 알아보기 (0) | 2021.08.14 |
로그(Log) 를 남기고, 오래된 로그 파일 자동 삭제 (0) | 2021.08.14 |
c#에서 ssh scp로 bash 명령어 실행 및 파일 전송 (0) | 2021.08.11 |
c#과 Python의 연동 (1) | 2021.08.11 |