MapVirtualKeyExA 함수(winuser.h)
가상 키 코드를 검색 코드 또는 문자 값으로 변환(매핑)하거나 스캔 코드를 가상 키 코드로 변환합니다. 이 함수는 입력 언어 및 입력 로캘 식별자를 사용하여 코드를 번역합니다.
통사론
UINT MapVirtualKeyExA(
[in] UINT uCode,
[in] UINT uMapType,
[in, out, optional] HKL dwhkl
);
매개 변수
[in] uCode
형식: UINT
가상 키 코드는 또는 검색 코드에서 키를 검색합니다. 이 값을 해석하는 방법은 uMapType 매개 변수의 값에 따라 달라집니다.
[in] uMapType
형식: UINT
수행할 번역입니다. 이 매개 변수의 값은 uCode 매개 변수의 값에 따라 달라집니다.
값 | 의미 |
---|---|
MAPVK_VK_TO_VSC 0 |
uCode 매개 변수는 가상 키 코드이며 검사 코드로 변환됩니다. 왼쪽 키와 오른쪽 키를 구분하지 않는 가상 키 코드인 경우 왼쪽 검색 코드가 반환됩니다. 변환이 없으면 함수는 0을 반환합니다. |
MAPVK_VSC_TO_VK 1 |
uCode 매개 변수는 검사 코드이며 왼쪽 키와 오른쪽 키를 구분하지 않는 가상 키 코드로 변환됩니다. 변환이 없으면 함수는 0을 반환합니다. windows Vista 이상 : uCode 값의 상위 바이트를 확장 검색 코드를 지정하는 0xe0 또는 0xe1 포함할 수 있습니다. |
MAPVK_VK_TO_CHAR 2 |
uCode 매개 변수는 가상 키 코드이며 반환 값의 낮은 순서로 변환되지 않은 문자 값으로 변환됩니다. 배달 못한 키(발음)는 반환 값의 최상위 비트를 설정하여 표시됩니다. 변환이 없으면 함수는 0을 반환합니다. 비고를 참조하세요. |
MAPVK_VSC_TO_VK_EX 3 |
uCode 매개 변수는 검사 코드이며 왼쪽 키와 오른쪽 키를 구분하는 가상 키 코드로 변환됩니다. 변환이 없으면 함수는 0을 반환합니다. windows Vista 이상 : uCode 값의 상위 바이트를 확장 검색 코드를 지정하는 0xe0 또는 0xe1 포함할 수 있습니다. |
MAPVK_VK_TO_VSC_EX 4 |
Windows Vista 이상:uCode 매개 변수는 가상 키 코드이며 검사 코드로 변환됩니다. 왼쪽 키와 오른쪽 키를 구분하지 않는 가상 키 코드인 경우 왼쪽 검색 코드가 반환됩니다. 스캔 코드가 확장 검사 코드인 경우 반환된 값의 상위 바이트에 확장 검사 코드를 지정하는 0xe0 또는 0xe1 포함됩니다. 변환이 없으면 함수는 0을 반환합니다. |
[in, out, optional] dwhkl
형식: HKL
지정된 코드를 번역하는 데 사용할 입력 로캘 식별자입니다. 이 매개 변수는 LoadKeyboardLayout 함수에서 이전에 반환한 입력 로캘 식별자일 수 있습니다.
반환 값
형식: UINT
반환 값은
발언
입력 로캘 식별자는 음성 텍스트 변환기, IME(입력 메서드 편집기) 또는 다른 형식의 입력을 포함할 수도 있으므로 키보드 레이아웃보다 더 광범위한 개념입니다.
애플리케이션은 MapVirtualKeyEx 사용하여 검사 코드를 VK_SHIFT, VK_CONTROL및 VK_MENU가상 키 코드 상수로 변환할 수 있으며 그 반대의 경우도 마찬가지입니다. 이러한 변환은 Shift, Ctrl 또는 Alt 키의 왼쪽 및 오른쪽 인스턴스를 구분하지 않습니다.
애플리케이션은 uCode 다음 가상 키 코드 상수 중 하나로 설정된 MapVirtualKeyEx 호출하여 이러한 키 중 하나의 왼쪽 또는 오른쪽 인스턴스에 해당하는 검사 코드를 가져올 수 있습니다.
- VK_LSHIFT
- VK_RSHIFT
- VK_LCONTROL
- VK_RCONTROL
- VK_LMENU
- VK_RMENU
이러한 왼쪽 및 오른쪽 구분 상수는
메모
winuser.h 헤더는 MAPVirtualKeyEx를 UNICODE 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입대한
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows 2000 Server [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | winuser.h(Windows.h 포함) |
라이브러리 | User32.lib |
DLL | User32.dll |
참고 항목
- GetAsyncKeyState
- GetKeyState
- GetKeyboardState
- GetSystemMetrics
- MapVirtualKey
- SetKeyboardState
- LoadKeyboardLayout
- 키보드 입력
- 키보드 입력 개요