멀티 프로세스 안하고 단일 프로세스 하는 이유
같은 프로그램 여러개 띄워서 충돌하거나 사용하는 사람이 작업중인 프로그램이 뭔지 햇갈려서 실수하는걸 방지
• Mutex
공유 자원을 한 프로세스가 단독으로 사용 가능하게 만들기 위해 뮤텍스를 사용
Program.cs 의 실행 부분에 뮤텍스를 설정해 프로그램을 한개만 실행 가능하게 하는 코드
bool mutexLock = false;
Mutex mutex = new Mutex(true, Assembly.GetEntryAssembly().FullName, out mutexLock);
//이미 동일 프로세스가 생성되어있는지 체크하고 없을때만 새 프로세스 생성
if (mutexLock == true) {
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
else
{
MessageBox.Show("Already running!", "Error",MessageBoxButtons.OK, MessageBoxIcon.Error);
}
이미 폼을 실행 한 경우에 다시 ctrl f5로 새 폼을 실행하려고 하면 중복 실행이 불가능하게 막았다!
'C# > 윈폼' 카테고리의 다른 글
mssql 윈폼 연동 (2) | 2024.09.25 |
---|---|
사용자 정의 컨트롤러 (0) | 2024.09.21 |
이벤트 (0) | 2024.09.21 |
윈폼 datatable, dataset, datagridview (0) | 2024.09.21 |
윈폼 시작하기 2 (판넬, 스플리터, 테이블 레이아웃 판넬, 툴스트립) (0) | 2024.09.21 |