1. 단일문서 기반의 프로젝트 생성(Duplex)
2. Duplex.h파일(어플리케이션 클래스)에 핸들을 받을 수 있는 변수 선언
-중복실행을 방지하기 위한 것이므로, 실행되기 전에 체크하여 실행되는것 자체를 취소시키기 위해 어플리케이션 클래스에 선언함
class CDuplexApp : public CWinApp
{
public:
CDuplexApp();
//CEvent m_Event;
HANDLE m_hDupCheck; // 핸들을 받을 수 있는 변수 선언
3. 어플리케이션클래스(Duplex.cpp)의 InitInstance()함수에 중복실행을 방지하기 위한 코드 작성
아무것도 실행할 필요가 없으므로 바로 비교하고 종료될 수 있도록 맨 위쪽에 코드를 작성해 준다.
BOOL CDuplexApp::InitInstance()
{
::CreateEvent(NULL, FALSE, FALSE, TEXT("DUPCHECK_THISAPP_EVENT"));
if (::GetLastError()==ERROR_ALREADY_EXISTS)
{
AfxMessageBox(_T("ERROR : Application is already running!"));
return FALSE; // InitInstance함수가 실행되지 않고 빠져나온다. 이 프로그램은 메모리에 올라가지 않는다.
}
.
.
.
.
.
'PROGRAMMING > MFC(C++)' 카테고리의 다른 글
[0425수업] ClipBoard (0) | 2011.04.25 |
---|---|
[0422수업] IPC통신 (0) | 2011.04.22 |
[0421수업] 소프트웨어 업데이트 (0) | 2011.04.21 |
[0421수업] 세마포어 (0) | 2011.04.21 |
[0418수업] ThreadCrash(Critical Section, 뮤텍스) (0) | 2011.04.18 |