VkKeyScanA 함수(winuser.h)

[이 함수는 VkKeyScanEx 함수로 대체되었습니다. 그러나 키보드 레이아웃을 지정할 필요가 없는 경우에도 VkKeyScan을 사용할 수 있습니다.]

문자를 현재 키보드의 해당 가상 키 코드 및 시프트 상태로 변환합니다.

구문

SHORT VkKeyScanA(
  [in] CHAR ch
);

매개 변수

[in] ch

형식: TCHAR

가상 키 코드로 변환할 문자입니다.

반환 값

형식: SHORT

함수가 성공하면 반환 값의 하위 바이트에 가상 키 코드가 포함되고 상위 바이트에는 다음 플래그 비트의 조합일 수 있는 시프트 상태가 포함됩니다.

반환 값 Description
1
SHIFT 키를 누릅니다.
2
Ctrl 키를 누릅니다.
4
ALT 키를 누릅니다.
8
한카쿠 키를 누릅니다.
16
예약됨(키보드 레이아웃 드라이버에 의해 정의됨).
32
예약됨(키보드 레이아웃 드라이버에 의해 정의됨).
 

함수에서 전달된 문자 코드로 변환되는 키를 찾지 못하면 하위 바이트와 상위 바이트 모두 –1이 포함됩니다.

설명

오른쪽 ALT 키를 시프트 키로 사용하는 키보드 레이아웃(예: 프랑스어 키보드 레이아웃)의 경우 오른쪽 ALT 키가 내부적으로 Ctrl+Alt로 변환되기 때문에 시프트 상태가 값 6으로 표시됩니다.

숫자 키패드(VK_DIVIDE 통해 VK_NUMPAD0)에 대한 번역은 무시됩니다. 이 함수는 기본 키보드 섹션에서만 문자를 키 입력으로 변환하기 위한 것입니다. 예를 들어 문자 "7"은 VK_NUMPAD7 아니라 VK_7 변환됩니다.

VkKeyScanWM_KEYUPWM_KEYDOWN 메시지를 사용하여 문자를 보내는 애플리케이션에서 사용됩니다.

참고

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

요구 사항

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

추가 정보