728x90
실행파일을 여러 번 실행하면 여러 개의 다른 프로세스들이 생성되는데, 만약 해당 머신에서 오직 한 프로세스만 실행되도록 하길 원한다면, 일반적으로 사용되는 한 방법으로 Mutex를 사용할 수 있다.
static class Program
{
[STAThread]
static void Main()
{
try
{
using (new Mutex(true, Application.ProductName, out var isNew))
{
if (isNew)
{
try
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new FrmMain());
}
catch (Exception ex) {}
}
else
{
MsgBox.Inform(Messages.RunningProgram);
Application.Exit();
}
}
}
catch (Exception e) {}
finally
{
// 프로그램 종료
}
}
}
또 다른 예제는 여기
728x90
'C#' 카테고리의 다른 글
Background에서 메소드 실행하는 방법 (0) | 2022.12.02 |
---|---|
C# Winform 디자이너가 정상적으로 로딩되지 않을 경우, 체크 사항 및 해결 방안 (0) | 2022.12.01 |
ref를 사용하는 경우 (0) | 2022.11.30 |
대용량 리스트를 처리하면서 느낀 점 (0) | 2022.11.30 |
[DevExpress] GridControl DataSource에 대용량 데이터 세팅할 시, 느린 이슈 해결하는 방법 (0) | 2022.11.30 |