kyuseo의 게임 프로그래밍

뮤텍스(Mutex)를 이용하여 하나의 프로그램(게임)만 실행하는 소스코드 본문

C++ 개발

뮤텍스(Mutex)를 이용하여 하나의 프로그램(게임)만 실행하는 소스코드

kyuseo 2008. 3. 11. 18:47

개요..

 

게임과 같은 경우 하나의 컴퓨터에서 하나의 프로그램만 실행시키기를 원하는 경우가 많습니다.

 

뮤텍스(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;

    }

}