키 메시지 플래그

키 입력 메시지의 lParam 매개 변수는 메시지를 생성 하는 키에 대 한 추가 정보를 포함 합니다. 이 정보는 반복 횟수, 검사 코드, 확장 키 플래그, 컨텍스트 코드, 이전 키 상태 플래그 및 전환 상태 플래그를 포함합니다. 다음 그림은 lParam 매개 변수에서 이러한 플래그와 값의 위치를 보여 줍니다.

응용 프로그램 키 플래그를 조작 하려면 다음 값을 사용할 수 있습니다.

의미
KF_ALTDOWN Alt 키를 눌렀는지를 나타내는 alt 키 플래그를 조작.
KF_DLGMODE 대화 상자가 활성화 되어 있는지 여부를 나타내는 대화 모드 플래그를 조작.
KF_EXTENDED 확장된 키 플래그를 조작.
KF_MENUMODE 메뉴가 활성화 되어 있는지 여부를 나타내는 메뉴 모드 플래그를 조작.
KF_REPEAT 반복 횟수를 조작.
KF_UP 전환 상태 플래그를 조작.

반복 횟수

키 입력 메시지가 하나 이상의 키 입력을 나타내는지 여부를 확인 하려면 반복 횟수를 확인할 수 있습니다. 시스템 키보드 WM_KEYDOWN 또는 WM_SYSKEYDOWN 메시지를 처리할 수 있는 응용 프로그램 보다 빠르게 생성할 때 카운트를 증가 시킵니다. 사용자 보유 키 긴 아래로 충분히 키보드의 자동 반복 기능을 시작 하는 경우에 자주 발생 합니다. 결과 키 다운 메시지와 시스템 메시지 큐를 작성 하는 대신 시스템 결합 메시지 메시지와 증가 단일 키 반복 횟수. 그래서 WM_KEYUPWM_SYSKEYUP 메시지에 대 한 반복 횟수를 1로 설정 됩니다 항상 자동 반복 기능 시작할 수 없습니다 키 공개.

코드 검사

스캔 코드는 키보드 하드웨어 키를 누를 때 생성 되는 값입니다. 누른 키를 나타내는 문자에 반대 하는 키를 식별 하는 장치 종속 값입니다. 응용 프로그램은 일반적으로 스캔 코드를 무시합니다. 대신, 그것은 장치 독립적인 가상 키 코드를 사용 하 여 키 입력 메시지를 해석.

확장 키 플래그

확장 키 플래그 키 메시지 추가 향상 된 키보드 키 중 하나에서 유래 하는지 여부를 나타냅니다. 키보드 오른쪽에 alt 및 ctrl 키의 확장 된 키 구성 델, 홈, 끝, page up, page down 및 화살표 키 숫자 키패드; 왼쪽 클러스터의 기능 num lock 키; break (ctrl + 일시 중지) 키; 인쇄 scrn 키; 나누기 (/)와 숫자 키패드 키를 입력 합니다. 키가 확장된 키 확장 키 플래그 설정.

컨텍스트 코드

컨텍스트 코드 키 입력 메시지를 생성할 때 내려 alt 키 했는지 여부를 나타냅니다. 그것은 하는 경우 코드는 알트 키 아래로 경우 1 및 0.

이전 키 상태 플래그

이전 키 상태 플래그를 키 입력 메시지를 생성 하는 키가 이전에 위 또는 아래로 여부를 나타냅니다. 그것은 경우에 키가 이전에 다운 1과 0 키를 이전에 있었다면입니다. 이 플래그를 사용 하 여 키보드의 자동 반복 기능에 의해 생성 된 키 입력 메시지를 식별할 수 있습니다. 이 플래그는 자동 반복 기능에 의해 생성 된 WM_KEYDOWNWM_SYSKEYDOWN 키 입력 메시지에 대 한 1로 설정 됩니다. 그것은 항상 WM_KEYUPWM_SYSKEYUP 메시지에 대 한 0으로 설정.

전환 상태 플래그

전환 상태 플래그 키를 누르거나 키를 공개 키 입력 메시지를 생성 하는지 여부를 나타냅니다. 이 플래그는 항상 WM_KEYDOWNWM_SYSKEYDOWN 메시지; 0으로 설정 그것은 항상 WM_KEYUPWM_SYSKEYUP 메시지에 대 한 1로 설정.

 

Index