SDI 로 작업하였다면, 응용프로그램 객체에 해당 함수를 선언 후 추가.
그리고 프로그램이름(IDS_APP_NAME)을 리소스에 등록하거나, 가져와서 사용
BOOL CWebBroApp::IsRunning(void)
{
CString appName = _T(“”);
appName.LoadString(IDS_APP_NAME);
// HANDLE hMuxtex = CreateMutex(NULL, TRUE, (LPCTSTR)TEXT(“ADIcon”));
HANDLE hMuxtex = CreateMutex(NULL, TRUE, (LPCTSTR)appName);
if(GetLastError() == ERROR_ALREADY_EXISTS)
{
ReleaseMutex(hMuxtex);
CWnd *pWndPre = NULL, *pWndChild = NULL;
/*
if(pWndPre = CWnd::FindWindow(NULL, appName))
{
pWndChild = pWndPre->GetLastActivePopup();
//프로그램이 이미 실행 중이고 메뉴 바 윈도우가 화면에 보이지 않는 경우
if(!pWndPre->IsWindowVisible())
{
// 화면에 보이게 처리
pWndPre->ShowWindow(SW_SHOW);
pWndChild->SetForegroundWindow();
}
}
*/
return TRUE;
}
ReleaseMutex(hMuxtex);
return FALSE;
}