다음을 통해 공유


KBDLLHOOKSTRUCT 구조체(winuser.h)

하위 수준 키보드 입력 이벤트에 대한 정보를 포함합니다.

구문

typedef struct tagKBDLLHOOKSTRUCT {
  DWORD     vkCode;
  DWORD     scanCode;
  DWORD     flags;
  DWORD     time;
  ULONG_PTR dwExtraInfo;
} KBDLLHOOKSTRUCT, *LPKBDLLHOOKSTRUCT, *PKBDLLHOOKSTRUCT;

멤버

vkCode

형식:DWORD

가상 키 코드입니다. 코드는 1에서 254 범위의 값이어야 합니다.

scanCode

형식:DWORD

키에 대한 하드웨어 검사 코드입니다.

flags

형식:DWORD

확장 키 플래그, 이벤트 삽입 플래그, 컨텍스트 코드 및 전환 상태 플래그입니다. 이 멤버는 다음과 같이 지정됩니다. 애플리케이션은 다음 값을 사용하여 키 입력 플래그를 테스트할 수 있습니다. 테스트 LLKHF_INJECTED(비트 4)는 이벤트가 삽입되었는지 여부를 알려줍니다. 그렇다면 LLKHF_LOWER_IL_INJECTED(비트 1)를 테스트하면 이벤트가 낮은 무결성 수준에서 실행되는 프로세스에서 삽입되었는지 여부를 알 수 있습니다.

의미
LLKHF_EXTENDED
(KF_EXTENDED >> 8)
확장 키 플래그를 테스트합니다.
LLKHF_LOWER_IL_INJECTED
0x00000002
이벤트 삽입(낮은 무결성 수준에서 실행되는 프로세스에서) 플래그를 테스트합니다.
LLKHF_INJECTED
0x00000010
이벤트 삽입(모든 프로세스에서) 플래그를 테스트합니다.
LLKHF_ALTDOWN
(KF_ALTDOWN >> 8)
컨텍스트 코드를 테스트합니다.
LLKHF_UP
(KF_UP >> 8)
전환 상태 플래그를 테스트합니다.
 

다음 표에서는 이 값의 레이아웃에 대해 설명합니다.

비트 Description
0 키가 함수 키 또는 숫자 키패드의 키와 같은 확장 키인지 여부를 지정합니다. 키가 확장 키인 경우 값은 1입니다. 그렇지 않으면 0입니다.
1 이벤트가 낮은 무결성 수준에서 실행되는 프로세스에서 삽입되었는지 여부를 지정합니다. 이 경우 값은 1입니다. 그렇지 않으면 0입니다. 비트 4는 비트 1이 설정 될 때마다 설정됩니다.
2-3 예약되어 있습니다.
4 이벤트가 삽입되었는지 여부를 지정합니다. 이 경우 값은 1입니다. 그렇지 않으면 0입니다. 비트 4가 설정되면 비트 1이 반드시 설정되지는 않습니다.
5 컨텍스트 코드입니다. ALT 키를 누르면 값이 1입니다. 그렇지 않으면 0입니다.
6 예약되어 있습니다.
7 전환 상태입니다. 키를 누르면 값이 0이고 해제되는 경우 1입니다.

time

형식:DWORD

이 메시지에 대한 타임스탬프는 GetMessageTime 이 이 메시지에 대해 반환하는 것과 동일합니다.

dwExtraInfo

형식: ULONG_PTR

메시지와 관련된 추가 정보입니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
머리글 winuser.h(Windows.h 포함)

추가 정보

개념

후크

LowLevelKeyboardProc

참조

SetWindowsHookEx