키보드로부터 문자를 입력 받고자 할 경우는 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 오른쪽 윈도우 키
등등이 있다.
'프로그래밍 > API' 카테고리의 다른 글
[API] 메세지 박스 만들기 (0) | 2011.08.09 |
---|---|
[API] 여러 가지 출력 들 ( 픽셀, 선, 사각형, 원 ) (0) | 2011.08.07 |
[API] DC 를 이용한 문자열 출력 (0) | 2011.08.07 |
[API] 다양한 현재시간과 현재날짜 얻기 (1) | 2011.08.05 |
[API] DC ( Device Context ) 란.......... (0) | 2011.08.03 |