프로그램이 두번 열리는 것을 방지하는 것이다.

프로그램을 실행 시키고나서, 의도적이든 실수든 또 실행 시킬 수 있다.
여러 프로그램을 동시에 돌리듯, 한 프로그램을 여러개를 동시에 실행하는 것이다.
그것을 막기 위한 방법이다.

아래와 같은 함수를 사용할 것이다.


(함수 선언)



함수 내용은 다음과 같다.



(mutex)



뮤텍스는 한 번에 하나의 스레드만 소유할 수 있는 객체로써
고유 문자열의 뮤텍스를 생성시킨다. 그리고 뮤텍스가 생성되면 false를, 중복이 되면 ERROR_ALREADY_EXISTS 에러가 뜨는데 이 에러가 나면 true를 return한다.

윈도우즈 창을 생성하기 전에 아래와 같은 코드를 추가하면 된다.



(중복 체크)



중복이지 않을 때
아래의 코드로 넘어가서 윈도우즈 창이 생성되게 된다.

컴파일 후 실행해본다.



(실행)



이 프로그램을 실행시키고, 같은 프로그램을 다시 한번 실행하면 실행되지 않는다.
즉, 하나만 실행이 된다.

(*참조 - 2D 게임프로그래밍, 찰스 켈리)

+ Recent posts