본문 바로가기
C & C++/C & C++

[Tip] 키 조합으로 프로그램 종료하기 (응용가능)

by izen8 2011. 5. 4.
반응형

실습예제 4 :: [Alt + F4] 키를 누르면 WM_CLOSE 메시지가 발생하고 프로그램이 종료됩니다. 유사하게 [Alt + X] 키를 누르면 프로그램이 종료되도록 예제를 작성해봅시다.

void CKeyMoveView::OnSysChar(UINT nChar, UINT nRepCnt, UINT nFlags)
{
// TODO: Add your message handler code here and/or call default
if(nChar == VK_RETURN)
AfxMessageBox(TEXT("Alt + Enter"));
else if(nChar == 's' || nChar == 'S')
AfxMessageBox(TEXT("Alt + S"));
else if(nChar == 'x' || nChar == 'X'){
SendMessage(WM_CLOSE,0,0);
}

CView::OnSysChar(nChar, nRepCnt, nFlags);
}

위와 같이 하면 될 줄 알았는데 디버거 창이 뜨면서 충돌이라고 뜬다.

void CKeyMoveView::OnSysChar(UINT nChar, UINT nRepCnt, UINT nFlags)
{
// TODO: Add your message handler code here and/or call default
if(nChar == VK_RETURN)
AfxMessageBox(TEXT("Alt + Enter"));
else if(nChar == 's' || nChar == 'S')
AfxMessageBox(TEXT("Alt + S"));
else if(nChar == 'x' || nChar == 'X'){
AfxGetMainWnd()->PostMessage(WM_CLOSE,0,0);
}

CView::OnSysChar(nChar, nRepCnt, nFlags);
}


이렇게 하니깐 종료는 된다. 정상적이지 않은지 띵띵 거리는게 좀 걸리네.

반응형

'C & C++ > C & C++' 카테고리의 다른 글

BOOL 과 bool 의 차이점  (0) 2011.05.06
[Tip] 외부 프로그램 실행 및 종료  (0) 2011.05.04
API 주요 함수  (0) 2011.04.29
사용자 정의 이벤트(Event)  (0) 2011.04.29
[Tip] 로그인 인증 확인  (0) 2011.04.28

댓글