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;
}
'이것저것 > My_Work' 카테고리의 다른 글
[MFC] - 포커스 없는 창 만들기 (0) | 2013.09.24 |
---|---|
[HTML5/PHP] - jWebSocket 데모 테스트 (0) | 2013.09.13 |
Windows 7 관리자 권한 (0) | 2013.08.12 |
dll dependent 체크 (0) | 2013.06.14 |
Self_안드로이드 (0) | 2013.03.13 |