[winapi] 단축키 등록 / 사용

2016. 3. 23. 19:27IT-개발/winapi 및 MFC

반응형


헉... Vista 부터 이렇게 좋은 api들이 생겨난줄은 몰랐다.


https://msdn.microsoft.com/ko-kr/library/windows/desktop/ms646309(v=vs.85).aspx


xp 한참 열심히 쓸데에 OS 사용중 단축키를 지정해서 특정한 PG이 특정한 동작을 하려면 전역 Keyboard Hooking 을 하는


방법 없다고 알았는데~ Vista 부터는 이렇게 좋은 api가 있을 줄이야~~ ㅠㅠ


Api 호출만 해주고, unregister 만 잘 해주면 간단하게 system 전역으로 단축Key를 사용할 수 있다.


역시~ 배울건 많다. 정보는 넘처나고~ ㅋㅋㅋ


MSDN의 예제입니다. )))))))))))))))
#include "stdafx.h"

int _cdecl _tmain (
    int argc, 
    TCHAR *argv[])
{           
    if (RegisterHotKey(
        NULL,
        1,
        MOD_ALT | MOD_NOREPEAT,
        0x42))  //0x42 is 'b'
    {
        _tprintf(_T("Hotkey 'ALT+b' registered, using MOD_NOREPEAT flag\n"));
    }
 
    MSG msg = {0};
    while (GetMessage(&msg, NULL, 0, 0) != 0)
    {
        if (msg.message == WM_HOTKEY)
        {
            _tprintf(_T("WM_HOTKEY received\n"));            
        }
    } 
 
    return 0;
}