Share via


TranslateMessage

This function translates virtual-key messages into character messages. The character messages are posted to the calling threads message queue, to be read the next time the thread calls the GetMessage or PeekMessage function.

BOOL TranslateMessage(
const MSG *lpMsg ); 

Parameters

  • lpMsg
    [in] Long pointer to an MSG structure that contains message information retrieved from the calling threads message queue by using the GetMessage or PeekMessage function.

Return Values

Nonzero indicates that the message is translated, that is, a character message is posted to the threads message queue. If the message is WM_KEYDOWN or WM_SYSKEYDOWN, the return value is nonzero, regardless of the translation. Zero indicates that the message is not translated, that is, a character message is not posted to the threads message queue.

Remarks

The TranslateMessage function does not modify the message pointed to by the lpMsg parameter.

WM_KEYDOWN and WM_KEYUP combinations produce a WM_CHAR message. WM_SYSKEYDOWN and WM_SYSKEYUP combinations produce a WM_SYSCHAR or WM_SYSDEADCHAR message.

TranslateMessage produces WM_CHAR messages only for keys that are mapped to ASCII characters by the keyboard driver. Windows CE does not support scan codes or extended key flags, so it does not support the values 16 through 24 in the lKeyData parameter (lParam) of the WM_CHAR message generated by the TranslateMessage function.

TranslateMessage can only be used to translate messages received from calls to GetMessage or PeekMessage.

If applications process virtual-key messages for some other purpose, they should not call TranslateMessage. For instance, an application should not call TranslateMessage if the TranslateAccelerator function returns a nonzero value.

Requirements

Runs on Versions Defined in Include Link to
Windows CE OS 1.0 and later Winuser.h   Msgque.lib

Note   This API is part of the complete Windows CE OS package as provided by Microsoft. The functionality of a particular platform is determined by the original equipment manufacturer (OEM) and some devices may not support this API.

See Also

GetMessage, PeekMessage, TranslateAccelerator, WM_CHAR, WM_KEYDOWN, WM_KEYUP, WM_SYSCHAR, WM_SYSDEADCHAR, WM_SYSKEYDOWN, WM_SYSKEYUP

 Last updated on Tuesday, July 13, 2004

© 1992-2000 Microsoft Corporation. All rights reserved.