키보드로부터 문자를 입력 받고자 할 경우는 WM_CHAR 메세지를 사용하면 된다. 그러나 WM_CHAR 메시지는 문자만을 입력받는 메시지 이므로 문자 이외의 키는 입력받을 수 없다. 예를 들어 커서 이동키라던가 Del 같은 키는 문자키가 아니기 때문에 이런 키는 WM_CHAR 메세지가 입력되지 않는다.

 이 때는 WM_KEYDOWN 메시지를 사용해야한다. WM_KEYDOWN 메시지는 키보드를 누를 때마다 윈도우로 전달되는데 문자가 아닌 모든 키에 대해서 발생한다.

 이 때 wParam 으로는 문자 코드가 아닌 가상 키코드라는 것이 전달된다. 가상 키코드란 시스템에 장착된 키보드의 종류에 상관없이 키를 입력받기 위해 만들어진 범용적인 코드값이며 다음과 같이 정의되어 있다.

VK_LBUTTON        01
VK_RBUTTON        02
VK_CANCEL          03
VK_MBUTTON       04
VK_BACK              08          백스페이스
VK_TAB                09          탭
VK_CLEAR            0C        
VK_RETURN          0D         엔터
VK_SHIFT             10          쉬프트
VK_CONTROL       11          컨트롤
VK_MENU             12          알트
VK_PAUSE            13          Pause
VK_CAPITAL         14          Caps Lock
VK_ESCAPE         1B          ESC
VK_SPACE           20          스페이스
VK_PRIOR             21          pgUp
VK_NEXT              22          pgDn
VK_END                23          End
VK_HOME             24          Home
VK_LEFT              25          좌측 방향키
VK_UP                 26          위쪽 방향키
VK_RIGHT            27          오른쪽 방향키
VK_DOWN            28          아래쪽 방향키
VK_SELECT         29           
VK_PRINT            2A
VK_EXECUTE       2B
VK_SNAPSHOT     2C          Print Screen
VK_INSERT          2D           Insert
VK_DELETE         2E           Delete
VK_HELP             2F
                          30~39      숫자키 0~9
                          41~5A      알파벳 A~Z  
VK_LWIN             5B           왼쪽 윈도우 키
VK_RWIN             5C           오른쪽 윈도우 키
 
등등이 있다.
Posted by 바람처럼..
|