기존 쓰던 LG모니터 패널 손상돼서 수리비 알아보다가 그냥 새로 사는게 나을거 같아서 구매했습니다. https://monitor.co.kr 에서 화소검사등 테스트 해봤는데 문제 발견 안됐고, 화질도 괜찮게 나옵니다. 논글레어인것도 맘에 들고 시야각도 ips패널이라 그런지 양호하네요. 다만 초기세팅이 노란색상이 강하게 올라오는 느낌이라 색상 조정해서 쓰고있습니다. 전반적으로 가성비 좋은 제품이라고 생각됩니다. 단점은 베사홀 깊이가 다른 제품보다 얕아요(3번째 사진 참조). 모니터암 쓰는중인데 나사가 끝까지 안들어가고 몇 mm 남네요. 완전히 체결이 안됩니다. 그래도 고정이 불안정할 정도는 아니라서 그냥 쓰고 있네요.
이런 경우 C#의 뮤텍스(mutex) 클래스를 이용해 프로그램의 중복 실행을 막을 수 있습니다
뮤텍스(mutex)는 상호 배제(mutual exclusion)의 약자로 프로세스나 스레드등이 동시에 접근해서는 안되는 공유영역을 뜻합니다
C#에서는 Mutex클래스를 제공해서 비교적 쉽게 구현할수 있죠
그럼 바로 구현해보도록 하겠습니다
먼저 중복실행을 방지할 프로젝트의 Program.cs를 엽니다
그 다음 Program.cs의 소스코드를 아래와 같이 바꿔줍니다
namespace TestFrm
{
static class Program
{
/// <summary>
/// 해당 애플리케이션의 주 진입점입니다.
/// </summary>
[STAThread]
static void Main()
{
bool flagMutex;
System.Threading.Mutex m_hMutex = new System.Threading.Mutex(true, "TestFrm", out flagMutex);
if (flagMutex)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
// 실행할 Form 클래스
Application.Run(new Form1());
m_hMutex.ReleaseMutex();
}
else
{
// 여러개 실행시켰을때 띄울 메시지
MessageBox.Show("프로그램이 이미 실행 중입니다", "Error",
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
}