Program.cs에서 IO랑 Diagnostics 쓴다고 선언해주고~
using System.IO;
using System.Diagnostics;
Main에서 Process있나 체크하고 있으면 현재 프로그램을 종료
string processName = Path.GetFileNameWithoutExtension(Application.ExecutablePath);
Process[] processes = System.Diagnostics.Process.GetProcessesByName(processName);
if (processes.Length > 1)
{
MessageBox.Show("There is already another instance of the application running");
Application.Exit();
return;
}
일전엔 Application.ProductName을 썼었는데, 그 값을 바꾸면 제대로 못 물고 오니까 아예 실행 파일 이름으로 검색하게 수정
혹시나 못찾으면 GetFIleNameWithoutExtenstion 말고 GetFileName으로 시도해볼것.