실행되지 않도록 체크하고 방지해야 하는 일이 빈번히 발생한다.
아래 코드를 적어본다.
using System;
using System.Threading;
using System.Windows.Forms;
namespace runningCheck
{
static class Program
{
///
/// 해당 응용 프로그램의 주 진입점입니다.
///
[STAThread]
static void Main()
{
bool flag = true;
bool USE_WATCHDOG = true;
Mutex watchDog;
// 필요에 따라 중복실행 체크를 안할 수도 있으므로
// 사용여부를 보고 중복체크 실행
if (USE_WATCHDOG)
{
/* 프로세스 중복실행 체크를 위한 코드 시작 */
watchDog = new Mutex(true, "VMU_WATCHDOG", out flag);
if (flag)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new mainForm());
watchDog.ReleaseMutex();
}
else
{
MessageBox.Show("프로그램이 이미 실행 중 입니다.", "오류");
}
/* 중복체크를 위한 코드 끝 */
}
else
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new mainForm());
}
}
}
}
이상 끝!
댓글 없음:
댓글 쓰기
안녕하세요 :)