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 |
추가 정보
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기