TranslateMessage 함수(winuser.h)

가상 키 메시지를 문자 메시지로 변환합니다. 문자 메시지는 다음에 스레드가 GetMessage 또는 PeekMessage 함수를 호출할 때 읽을 호출 스레드의 메시지 큐에 게시됩니다.

구문

BOOL TranslateMessage(
  [in] const MSG *lpMsg
);

매개 변수

[in] lpMsg

형식: const MSG*

GetMessage 또는 PeekMessage 함수를 사용하여 호출 스레드의 메시지 큐에서 검색된 메시지 정보를 포함하는 MSG 구조체에 대한 포인터입니다.

반환 값

형식: BOOL

메시지가 번역되면(즉, 문자 메시지가 스레드의 메시지 큐에 게시됨) 반환 값은 0이 아닌 값입니다.

메시지가 WM_KEYDOWN, WM_KEYUP, WM_SYSKEYDOWN 또는 WM_SYSKEYUP 경우 반환 값은 변환에 관계없이 0이 아닌 값입니다.

메시지가 번역되지 않은 경우(즉, 문자 메시지가 스레드의 메시지 큐에 게시되지 않음) 반환 값은 0입니다.

설명

TranslateMessage 함수는 lpMsg 매개 변수가 가리키는 메시지를 수정하지 않습니다.

WM_KEYDOWNWM_KEYUP 조합은 WM_CHAR 또는 WM_DEADCHAR 메시지를 생성합니다. WM_SYSKEYDOWNWM_SYSKEYUP 조합은 WM_SYSCHAR 또는 WM_SYSDEADCHAR 메시지를 생성합니다.

TranslateMessage 는 키보드 드라이버에서 ASCII 문자에 매핑되는 키에 대해서만 WM_CHAR 메시지를 생성합니다.

애플리케이션이 다른 용도로 가상 키 메시지를 처리하는 경우 TranslateMessage를 호출하면 안 됩니다. instance 경우 TranslateAccelerator 함수가 0이 아닌 값을 반환하는 경우 애플리케이션에서 TranslateMessage를 호출하면 안 됩니다. 애플리케이션은 입력 메시지를 검색하고 대화 상자에 디스패치합니다. 대부분의 애플리케이션은 이를 위해 기본 메시지 루프를 사용합니다. 그러나 사용자가 키보드를 사용하여 컨트롤로 이동하고 선택할 수 있도록 하려면 애플리케이션에서 IsDialogMessage를 호출해야 합니다. 자세한 내용은 대화 상자 키보드 인터페이스를 참조하세요.

예제

예제는 메시지 루프 만들기를 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 winuser.h(Windows.h 포함)
라이브러리 User32.lib
DLL User32.dll
API 세트 ext-ms-win-ntuser-message-l1-1-0(Windows 8 도입)

추가 정보