프로그래밍/VC++
전역 단축키 걸기
panpro
2008. 3. 4. 10:29
RegisterHotKey 사용법...
1. 시작 시기에 걸맞는 곳에다 코딩한다.
예를 들어 CMainFrame의 OnCreate에 코딩한다고 하고, Ctrl + P를 핫키로 하겠다면
멤버 변수로 int m_nHotKeyID;
m_nHotKeyID = ::GlobalAddAtom("test");
if(!::RegisterHotKey(GetSafeHwnd(), m_nHotKeyID, MOD_CONTROL, 'P'))
AfxMessageBox("핫키 등록 실패!");
2. CMainFrame에 afx_msg LONG OnHotKey(WPARAM wParam, LPARAM lParam)함수 추가하고
메시지맵에 ON_MESSAGE(WM_HOTKEY, OnHotKey)
한다. 이 때 //}}AFX_MSG_MAP 바깥에 한다.
LONG CMainFrame::OnHotKey(WPARAM wParam, LPARAM lParam)
{
if((int)wParam == m_nHotKeyID)
{
// 하고 싶은 일 구현
}
}
3. 종료할 때 핫키를 해제한다.
void CMainFrame::OnClose()
{
::UnregisterHotKey(GetSafeHwnd(), m_nHotKeyID);
}