[winform] 단일 프로세스(MUTEX)

728x90


mutex에 대한 공식문서는 아래와 같습니다.

Mutex 클래스 (System.Threading) | Microsoft Learn

 

Mutex 클래스 (System.Threading)

프로세스 간 동기화에 사용할 수도 있는 동기화 기본 형식입니다.

learn.microsoft.com

 

 

같은 프로그램이 계속해서 생성되면 충돌 등의 문제가 발생할 수 있습니다. 단일 프로세스를 그러한 경우를 방지하기 위함입니다.

 

뮤텍스 객체는 program.cs에서 생성합니다.

 

program.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace study8
{
    internal static class Program
    {
        /// <summary>
        /// 해당 애플리케이션의 주 진입점입니다.
        /// </summary>
        [STAThread]
        static void Main()
        {
            bool newForm = false;
            Mutex mutex = new Mutex(true, Assembly.GetEntryAssembly().FullName,out newForm);

            //뮤텍스가 생성되어있다면
            if(newForm == true)
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                Application.Run(new Form1());
            }
            else
            {

            }
        }
    }
}

 

'C# Programming > Winform' 카테고리의 다른 글

[winform] 사용자정의 컨트롤  (0) 2024.05.15
[winform] 클래스 다이어그램 보는 법  (0) 2024.05.15
[winform] 컨트롤  (0) 2024.05.13
[winform] 알림창 만들기  (0) 2024.05.13
[winform] MDI  (0) 2024.05.13