2014년 7월 2일 수요일

C# 중복 실행 방지 : Mutex


C# 으로 응용프로그램을 만들었을 경우 동일한 프로그램이 1번만 실행되게 하기 위한 방법은 몇가지가 있으나,
Mutex 를 이용하는 것이 간편하다.

아래 부분을 최초 실행 모듈 (가장 흔하게는 Program.cs ) 에다 두면 이미 실행되어 있는 프로그램을 다시 실행하지 않는다.



using System.Threading;
.
.
.

[STAThread]
static void Main()
{
 bool isNew;
 Mutex mutex = new Mutex(true, "itSign", out isNew);

 if (isNew)
 {
  Application.Run(new frmLogin());
  mutex.ReleaseMutex();
 }
}


Mutex(true, "itSign", out isNew) 에서 "itSign" 부분은 프로그램 ID 로, 독립적으로 실행 시킬려는 프로그램마다 다르게 줘야 한다.