중복실행 방지코드
mfc & winAPI
2012. 3. 7. 13:22
중복실행 방지코드 예제다.
여러가지 방법들이 있다고 했는데, 그중 한 방법이란다.
써봤는데, 아주 간단한 몇줄의 코드로 처리가 가능하다.
HANDLE g_hMutex;
g_hMutex = CreateMutex(NULL, FALSE, _T("고유문자열")); //고유문자열로 뮤텍스 생성
if(GetLastError() == ERROR_ALREADY_EXISTS) //중복실행 방지
{
AfxMessageBox("이미 프로그램이 실행 중 입니다.\n\n중복실행 방지를 위하여, 실행할 수 없습니다.");
return FALSE;
}
1. 핸들변수를 생성한다.
2. 뮤텍스를 생성하여 생성한 핸들변수에 할당.(이때 고유문자열로 뮤텍스를 생성. 자기 프로세스명을 써줘도 될듯.)
3. GetLastError() == ERROR_ALREADY_EXISTS 이면 중복실행이 됐다는 것이기 때문에
4. 메세지박스를 출력하고, 종료.
'mfc & winAPI' 카테고리의 다른 글
LPSTR LPCTSTR 위험 CString -> char 으로 변환 (0) | 2013.02.13 |
---|---|
CString과 char*간의 변환 (0) | 2012.12.07 |
MFC 에서 strcat 함수 말고 StringCchCopy 함수를 사용하자. (0) | 2012.12.07 |
MFC HotKey 등록 (0) | 2012.11.05 |
정적, 동적 다이얼로그 객체의 생성과 해제[초간단] (0) | 2012.03.07 |