반응형
사용법
InitInstance() 시작 부문에 추가 한다. 시작 지점에서 프로그램 중복 실행 체크 후 진행 할 수 있게 한다.
Cpp File
HANDLE hMutex = NULL;
hMutex = CreateMutex(NULL, FALSE, _T("MUTEX_NAME"));
if (NULL == hMutex)
{
MessageBox(NULL, _T("Mutex 생성 실패 - 프로그램을 종료합니다."), _T("PROJECT_NAME"), MB_OK);
return FALSE;
}
if (GetLastError() == ERROR_ALREADY_EXISTS)
{
CloseHandle(hMutex);
hMutex = INVALID_HANDLE_VALUE;
MessageBox(NULL, _T("프로그램이 이미 실행 중입니다."), _T("PROJECT_NAME"), MB_OK);
return FALSE;
}
MUTEX_NAME 의 경우 GUID를 통해 만들면 다른 프로그램과 중첩 되는 경우를 없앨수 있다.
예) project_name-{GUID}
반응형
'Develope > c++, mfc' 카테고리의 다른 글
[C++/MFC] AfxExtractSubString 사용법 (0) | 2023.07.20 |
---|---|
[C++/MFC] 형 변환, CString to int (0) | 2023.07.17 |
[C++/MFC] 문자열 변환, CString to char (0) | 2022.10.17 |
[C++/MFC] 문자열 변환, char to wchar_t (0) | 2022.10.17 |
[C++/MFC] list Control 더블 클릭 시 폴더 이동 및 선택, OnNMDblclkList (0) | 2022.10.14 |
댓글