본문 바로가기
C#/윈폼

단일 프로세스

by hoshi03 2024. 9. 21.

멀티 프로세스 안하고 단일 프로세스 하는 이유

 

같은 프로그램 여러개 띄워서 충돌하거나 사용하는 사람이 작업중인 프로그램이 뭔지 햇갈려서 실수하는걸 방지

 

• 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