TranslateMessage功能将虚拟键消息转换为字符消息。字符消息被发布到调用线程的消息队列中,以便下次线程调用GetMessage或PeekMessage功能时被读取。
BOOL TranslateMessage(
CONST MSG *【LPMSG】 | //具有消息结构的地址 |
); |
参数
【LPMSG】
指向MSG结构,其中包含使用GetMessage或PeekMessage函数从调用线程的消息队列中检索的消息信息。
返回值
如果消息被翻译(即,字符消息被发布到线程的消息队列),返回值不为零。
如果消息未被翻译(即,一个字符消息没有发布到线程的消息队列),返回值为零。
Windows NT: TranslateMessage函数返回功能和箭头键以及字符和数字键的非零值。
备注
TranslateMessage功能不会修改【LPMSG】参数指向的消息。
WM_KEYDOWN和WM_KEYUP组合产生WM_CHAR或WM_DEADCHAR消息。WM_SYSKEYDOWN和WM_SYSKEYUP组合产生WM_SYSCHAR或WM_SYSDEADCHAR消息。
TranslateMessage仅为键盘驱动程序映射到ASCII字符的键产生WM_CHAR消息。
如果应用程序处理虚拟密钥消息以用于其他目的,则不应调用TranslateMessage.例如,如果TranslateAccelerator函数返回TRUE,则应用程序不应调用TranslateMessage.
也可以看看
GetMessage, PeekMessage, TranslateAccelerator, WM_CHAR, WM_DEADCHAR, WM_KEYDOWN, WM_KEYUP, WM_SYSCHAR, WM_SYSDEADCHAR, WM_SYSKEYDOWN, WM_SYSKEYUP