본문 바로가기
카테고리 없음

C# 에서 중복 프로그램 실행 방지하기

by 철이아부지 2012. 11. 14.

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으로 시도해볼것.