다음을 통해 공유


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의 가상 키 코드 U+0041 LATIN CAPITAL LETTER A><변환됩니다. 현재 키보드 레이아웃에 관계없이 U+005A LATIN CAPITAL LETTER 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