일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- EnvDiv
- 함수
- ControlGetText
- if
- if(식)
- StringGetPos
- IfInString
- SetTitleMatchMode
- SetMouseDelay
- MouseClick
- IfWinExist
- 식의 설명
- Menu
- Blocks
- IF (식)
- 식
- ControlSend
- EnvSub
- EnvAdd
- autohotkey
- SetKeyDelay
- DetectHiddenWindows
- Threads
- 배열
- API
- EnvMult
- Var:=식
- EnvSet
- SetControlDelay
- SetEnv
- Today
- Total
ㄴrㅎnㅂrㄹrㄱi
WM_KEYUP (밀리고 있던 비시스템키가 떼어 놓아졌을 경우에...) 본문
WM_KEYUP
WM_KEYUP 메세지는, 밀리고 있던 비시스템키가 떼어 놓아졌을 경우에, 키보드 포커스를 가지는 윈도우에 포스트됩니다.비시스템키란, [alt] 키가 밀리지 않을 때에 밀린 키입니다.
윈도우는, 윈도우 프로시저를 개입시켜 이 메세지를 받아들입니다.
#define WM_KEYUP 0x0101 nVirtKey = wParam; // 가상 키코드 lKeyData = lParam; // 키 데이터
파라미터
- nVirtKey
-
wParam 파라미터의 값.
비시스템키의 가상 키코드하지만 지정됩니다.
- lKeyData
-
lParam 파라미터의 값.
리피트 카운트 (유저가 키를 계속 눌렀을 때에 반복하는 키 조작의 회수) , 스캔 코드, 키 변환 코드, 직전의 키 상태, 및 문맥 코드가 지정됩니다.
비트 의미 0 ~ 15 현재의 메세지의 리피트 카운트가 지정됩니다.이것은, 유저가 키를 계속 누른 것 에 의해 자동적으로 반복해진 키스트로크(keystroke)의 회수입니다. WM_KEYUP 메세지에서는 항상 1 (이)가 됩니다.
16 ~ 23 스캔 코드가 지정됩니다.이 값은 OEM 의존입니다.
24 확장 키가 밀렸는지가 지정됩니다.확장 키의 경우는 1 하지만, 그 이외의 키에서는 0 하지만 지정됩니다.
25 ~ 28 사용되지 않습니다.
29 문맥 코드가 격납됩니다. WM_KEYUP 메세지에서는 항상 0 (이)가 됩니다.
30 직전의 키 상태가 지정됩니다. WM_KEYUP 메세지에서는 항상 1 (이)가 됩니다.
31 변환 상태가 지정됩니다. WM_KEYUP 메세지에서는 항상 1 (이)가 됩니다.
해설
[f10] 키 또는 [Alt] 키가 떼어 놓아졌을 경우는, DefWindowProc 함수는 톱 레벨 윈도우에 WM_SYSCOMMAND 메세지를 보냅니다.이 때의 wParam 파라미터에는 SC_KEYMENU 하지만 세트 됩니다.
대응 정보
Windows 95 이후 / Windows NT 3.1 이후
'API 관련 > Win32 API 함수' 카테고리의 다른 글
WM_KEYDOWN (WM_KEYDOWN 메세지는, 비시스템키가 밀렸을 경우에...) (0) | 2007.11.09 |
---|---|
WM_SYSCOMMAND (시스템 메뉴(컨트롤 메뉴)의 아이템이 선택 ...) (0) | 2007.11.09 |
stop (0) | 2007.11.09 |
seek (0) | 2007.11.09 |
play (디바이스의 재생) (0) | 2007.11.09 |