VkKeyScanExA 함수(winuser.h)
문자를 해당 가상 키 코드 및 시프트 상태로 변환합니다. 이 함수는 입력 언어 및 입력 로캘 식별자로 식별된 실제 키보드 레이아웃을 사용하여 문자를 변환합니다.
통사론
SHORT VkKeyScanExA(
[in] CHAR ch,
[in] HKL dwhkl
);
매개 변수
[in] ch
형식: TCHAR
가상 키 코드로 변환할 문자입니다.
[in] dwhkl
형식: HKL
문자를 번역하는 데 사용되는 입력 로캘 식별자입니다. 이 매개 변수는 LoadKeyboardLayout 함수에서 이전에 반환한 입력 로캘 식별자일 수 있습니다.
반환 값
형식: SHORT
함수가 성공하면 반환 값의 하위 바이트에 가상 키 코드가 포함되고 상위 바이트에는 다음 플래그 비트의 조합일 수 있는 시프트 상태가 포함됩니다.
반환 값 | 묘사 |
---|---|
|
SHIFT 키를 누릅니다. |
|
Ctrl 키를 누릅니다. |
|
ALT 키를 누릅니다. |
|
한카쿠 키를 눌렀습니다. |
|
예약됨(키보드 레이아웃 드라이버에 의해 정의됨). |
|
예약됨(키보드 레이아웃 드라이버에 의해 정의됨). |
함수가 전달된 문자 코드로 변환되는 키를 찾지 못하면 하위 바이트와 상위 바이트 모두 -1이 포함됩니다.
발언
입력 로캘 식별자는 음성 텍스트 변환기, IME(입력 메서드 편집기) 또는 다른 형식의 입력을 포함할 수도 있으므로 키보드 레이아웃보다 더 광범위한 개념입니다.
오른쪽 ALT 키를 시프트 키(예: 프랑스어 키보드 레이아웃)로 사용하는 키보드 레이아웃의 경우 오른쪽 ALT 키가 내부적으로 Ctrl+Alt로 변환되기 때문에 시프트 상태가 값 6으로 표시됩니다.
숫자 키패드(VK_DIVIDE VK_NUMPAD0)에 대한 번역은 무시됩니다. 이 함수는 주 키보드 섹션에서만 문자를 키 입력으로 변환하기 위한 것입니다. 예를 들어 문자 "7"은 VK_NUMPAD7 아니라 VK_7 변환됩니다.
VkKeyScanExWM_KEYUP 및 WM_KEYDOWN 메시지를 사용하여 문자를 보내는 애플리케이션에서 사용됩니다.
메모
winuser.h 헤더는 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 VkKeyScanEx를 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입대한
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows 2000 Server [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | winuser.h(Windows.h 포함) |
라이브러리 | User32.lib |
DLL | User32.dll |
참고 항목
- GetAsyncKeyState
- GetKeyNameText
- GetKeyState
- GetKeyboardState
- LoadKeyboardLayout
- SetKeyboardState
- toAsciiEx
- 키보드 입력