GetKeyNameTextA 함수(winuser.h)

키의 이름을 나타내는 문자열을 가져옵니다.

구문

int GetKeyNameTextA(
  [in]  LONG  lParam,
  [out] LPSTR lpString,
  [in]  int   cchSize
);

매개 변수

[in] lParam

형식: LONG

처리할 키보드 메시지(예: WM_KEYDOWN)의 두 번째 매개 변수입니다. 함수는 lParam에서 다음 비트 위치를 해석합니다.

비트 의미
16-23 스캔 코드입니다. 이 값은 OEM에 따라 달라집니다.
24 키가 고급 101키 또는 102키 키보드에 표시되는 오른쪽 Alt 및 Ctrl 키와 같은 확장 키인지 여부를 나타냅니다. 확장 키면 값이 1이고 확장 키가 아니면 0입니다.
25 "상관없어" 비트. 예를 들어 이 함수를 호출하는 애플리케이션은 함수가 왼쪽과 오른쪽 Ctrl 키와 Shift 키를 구분하지 않아야 함을 나타내도록 이 비트를 설정합니다.

자세한 내용은 키 입력 메시지 플래그를 참조하세요.

[out] lpString

형식: LPTSTR

키 이름을 받을 버퍼입니다.

[in] cchSize

형식: int

종료 null 문자를 포함하여 키 이름의 최대 길이(문자)입니다. (이 매개 변수는 lpString 매개 변수가 가리키는 버퍼의 크기와 같아야 합니다.)

반환 값

형식: int

함수가 성공하면 null로 끝나는 문자열이 지정된 버퍼에 복사되고 반환 값은 종료되는 null 문자를 계산하지 않고 문자열의 길이(문자)입니다.

함수가 실패하면 반환 값은 0입니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.

설명

키 이름 문자열의 형식은 현재 키보드 레이아웃에 따라 달라집니다.

키보드 레이아웃은 이름이 단일 문자보다 긴 키의 문자열 형식으로 이름 목록을 유지 관리합니다. 키 이름은 현재 활성 키보드 레이아웃에 따라 변환되므로 함수는 다른 키보드 레이아웃에 대해 다른 결과를 반환할 수 있습니다.

문자 키의 이름은 문자 자체입니다. 죽은 키의 이름은 전체 철자로 표시됩니다.

이 메서드는 여러 문자(예: 합자) 및/또는 단일 키 누르기에서 인쇄되는 보조 유니코드 문자를 생성하는 일부 키보드 레이아웃 에서 제대로 작동하지 않을 수 있습니다. 또한 'A'에 매핑된 키도 있습니다. Z' 가상 키 코드는 대문자 'A'로 변환됩니다. 현재 자판 배열에 관계없이 Z 문자입니다. 이러한 경우 ToUnicode 또는 ToUnicodeEx 메서드를 사용합니다.

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

요구 사항

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

추가 정보

키보드 입력

키보드 레이아웃

키보드 레이아웃 샘플

ToUnicode

ToUnicodeEx