kyuseo의 게임 프로그래밍
뮤텍스(Mutex)를 이용하여 하나의 프로그램(게임)만 실행하는 소스코드 본문
개요.. |
게임과 같은 경우 하나의 컴퓨터에서 하나의 프로그램만 실행시키기를 원하는 경우가 많습니다.
뮤텍스(Mutex)를 이용하여 하나의 프로그램(게임)만 실행하는 소스코드와 방법을 설명드립니다.
방법 |
아래와 같이 작업하고 추가로 다음과 같은 코드를 추가하여야 리소스 누출을 방지할 수 있습니다.
1.
CAppApp::CAppApp() { m_hMutex = NULL; }
|
2.
BOOL CAppApp::InitInstance() { // 프로그램중복실행을막기위한뮤텍스생성 m_hMutex = CreateMutex( NULL,TRUE, "SEARCH_EYEONLlNE_2_RWEHO_FWEO_GWEOG_MUTEX"); if( m_hMutex && GetLastError() == ERROR_ALREADY_EXISTS ) { ReleaseMutex( m_hMutex ); CloseHandle( m_hMutex ); m_hMutex = NULL; return FALSE; } } |
3.
int CAppApp::ExitInstance() { if( m_hMutex != NULL ) { ReleaseMutex( m_hMutex ); CloseHandle( m_hMutex ); m_hMutex = NULL; } } |