다음을 통해 공유


MapVirtualKeyA 함수(winuser.h)

가상 키 코드를 스캔 코드 또는 문자 값으로 변환(매핑)하거나 스캔 코드를 가상 키 코드로 변환합니다.

구문

UINT MapVirtualKeyA(
  [in] UINT uCode,
  [in] UINT uMapType
);

매개 변수

[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을 반환합니다.

반환 값

형식: UINT

반환 값은 uCodeuMapType 값에 따라 스캔 코드, 가상 키 코드 또는 문자 값입니다. 번역이 없으면 반환 값은 0입니다.

설명

지정된 코드를 변환하는 데 사용할 키보드 레이아웃에 대한 핸들을 지정하려면 MapVirtualKeyEx 함수를 사용합니다.

애플리케이션은 MapVirtualKey를 사용하여 검사 코드를 가상 키 코드 상수 VK_SHIFT, VK_CONTROLVK_MENU 변환할 수 있으며 그 반대의 경우도 마찬가지입니다. 이러한 변환은 Shift, Ctrl 또는 Alt 키의 왼쪽 및 오른쪽 인스턴스를 구분하지 않습니다.

애플리케이션은 다음 가상 키 코드 상수 중 하나로 설정된 uCode를 사용하여 MapVirtualKey를 호출하여 이러한 키 중 하나의 왼쪽 또는 오른쪽 instance 해당하는 검사 코드를 가져올 수 있습니다.

  • VK_LSHIFT
  • VK_RSHIFT
  • VK_LCONTROL
  • VK_RCONTROL
  • VK_LMENU
  • VK_RMENU

이러한 왼쪽 및 오른쪽 구분 상수는 GetKeyboardState, SetKeyboardState, GetAsyncKeyState, GetKeyState, MapVirtualKeyMapVirtualKeyEx 함수를 통해서만 애플리케이션에서 사용할 수 있습니다. 가상 키 코드의 전체 테이블을 나열하려면 가상 키 코드를 참조하세요.

MAPVK_VK_TO_CHAR 모드 가상 키 코드에서 'A'.' Z' 키는 대문자 'A'로 변환됩니다. 현재 자판 배열에 관계없이 Z의 문자입니다. 가상 키 코드를 해당 문자로 변환하려면 ToAscii 함수를 사용합니다.

참고

winuser.h 헤더는 MAPVirtualKey를 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 winuser.h(Windows.h 포함)
라이브러리 User32.lib
DLL User32.dll

추가 정보