KEYBDINPUT 구조체(winuser.h)

시뮬레이션된 키보드 이벤트에 대한 정보를 포함합니다.

구문

typedef struct tagKEYBDINPUT {
  WORD      wVk;
  WORD      wScan;
  DWORD     dwFlags;
  DWORD     time;
  ULONG_PTR dwExtraInfo;
} KEYBDINPUT, *PKEYBDINPUT, *LPKEYBDINPUT;

멤버

wVk

형식: WORD

가상 키 코드입니다. 코드는 1에서 254 범위의 값이어야 합니다. dwFlags 멤버가 KEYEVENTF_UNICODE 지정하는 경우 wVk는 0이어야 합니다.

wScan

형식: WORD

키에 대한 하드웨어 검사 코드입니다. dwFlagsKEYEVENTF_UNICODE 지정하는 경우 wScan은 포그라운드 애플리케이션으로 보낼 유니코드 문자를 지정합니다.

dwFlags

형식:DWORD

키 입력의 다양한 측면을 지정합니다. 이 멤버는 다음 값의 특정 조합일 수 있습니다.

의미
KEYEVENTF_EXTENDEDKEY
0x0001
지정된 경우 wScan 검사 코드는 첫 번째 바이트의 값이 0xE0 있는 2바이트의 시퀀스로 구성됩니다. 자세한 내용은 확장 키 플래그 를 참조하세요.
KEYEVENTF_KEYUP
0x0002
지정된 경우 키가 해제됩니다. 지정하지 않으면 키를 누르고 있습니다.
KEYEVENTF_SCANCODE
0x0008
지정된 경우 wScan 은 키를 식별하고 wVk 는 무시됩니다.
KEYEVENTF_UNICODE
0x0004
지정된 경우 시스템은 VK_PACKET 키 입력을 합성합니다. wVk 매개 변수는 0이어야 합니다. 이 플래그는 KEYEVENTF_KEYUP 플래그와만 결합할 수 있습니다. 자세한 내용은 주의 섹션을 참조하세요.

time

형식:DWORD

이벤트에 대한 타임스탬프를 밀리초 단위로 표시합니다. 이 매개 변수가 0이면 시스템에서 자체 타임스탬프를 제공합니다.

dwExtraInfo

형식: ULONG_PTR

키 입력과 연결된 추가 값입니다. GetMessageExtraInfo 함수를 사용하여 이 정보를 가져옵니다.

설명

INPUT_KEYBOARD KEYEVENTF_UNICODE 플래그를 사용하여 텍스트 입력인 것처럼 필기 인식 또는 음성 인식과 같은 키가 아닌 입력 메서드를 지원합니다. KEYEVENTF_UNICODE 지정하면 SendInputwParamVK_PACKET 동일한 포그라운드 스레드의 메시지 큐 WM_KEYDOWN 또는 WM_KEYUP 메시지를 보냅니다. GetMessage 또는 PeekMessage가 이 메시지를 가져오면 TranslateMessage에 메시지를 전달하면 wScan에서 원래 지정한 유니코드 문자와 함께 WM_CHAR 메시지가 게시됩니다. 이 유니코드 문자는 ANSI 창에 게시된 경우 적절한 ANSI 값으로 자동으로 변환됩니다.

KEYEVENTF_SCANCODE 플래그를 설정하여 스캔 코드 측면에서 키보드 입력을 정의합니다. 이는 현재 사용 중인 키보드에 관계없이 실제 키 입력을 시뮬레이션하는 데 유용합니다. 스캔 코드가 확장 키인 경우 KEYEVENTF_EXTENDEDKEY 플래그를 전달할 수도 있습니다. 키의 가상 키 값은 현재 키보드 레이아웃 또는 누른 다른 키에 따라 변경될 수 있지만 스캔 코드는 항상 동일합니다.

요구 사항

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

추가 정보