TranslateMessage
<script></script><script type="text/javascript"></script>
目录
基本信息
参数
<script type="text/javascript"></script>
函数功能:该函数将虚拟键消息转换为字符消息。字符消息被寄送到调用线程的消息队列里,当下一次线程调用函数GetMessage或PeekMessage时被读出。 函数原型:BOOL TranslateMessage(CONST MSG*lpMsg);
IpMsg:指向含有消息的MSG结构的指针,该结构里含有用函数GetMessage或PeekMessage从调用线程的消息队列里取得的消息信息。 返回值:如果消息被转换(即,字符消息被寄送到调用线程的消息队列里),返回非零值。如果消息是WM_KEYDOWN,WM_KEYUP WM_SYSKEYDOWN或WM_SYSKEYUP,返回非零值,不考虑转换。如果消息没被转换(即,字符消息没被寄送到调用线程的消息队列里),返回值是零。 备注:此函数不修改由参数IpMsg指向的消息。 WM_KEYDOWN和WM_KEYUP组合产生一个WM_CHAR或WM_DEADCHAR消息。 WM_SYSKEYDOWN和WM_SYSKEYUP组合产生一个WM_SYSCHAR或 WM_SYSDEADCHAR消息。TranslateMessage为那些由键盘驱动器映射为ASCll字符的键产生WM_CHAR消息。 如果应用程序为其他用途处理虚拟键消息,不应调用TranslateMessage。例如,如果件TranslateAccelerator返回一个非零值,应用程序不应调用TranslateMessage。 Windows CE:Windows CE不支持扫描码或扩展键标志,因此,不支持由TranslateMessage产生的WM_CHAR消息中的IKeyData参数(IParam)取值16-24。 TranslateMessage只能用于转换调用GetMessage或PeekMessage接收的消息。 速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;头文件:winuser.h;输入库:user32.lib。
分享到:
相关推荐
本文将详细阐述`TranslateMessage`、`Close`和`Destroy`、`GetAsyncKeyState`以及`GetKeyState`这些关键知识点。 首先,`TranslateMessage`函数是Windows API中的一个重要组件,它的主要作用是将虚拟键消息...
什么是句柄? 句柄,是整个Windows编程的基础。一个句柄是指使用的一个唯一的整数值,即一个4字节(64位程序中为8字节)长的数值,来标识应用程序中的不同对象和同类对象中的不同的实例,诸如,一个窗口,按钮,图标,...
- 对于某些特定的消息(如键盘回车键 VK_RETURN),`PreTranslateMessage` 可以选择不调用 `TranslateMessage` 而直接返回 TRUE,从而阻止 `TranslateMessage` 将这些消息转换为 `WM_CHAR` 类型。 - 在 MFC 中,`...
3. **TranslateMessage**: 这个函数用于将虚拟键消息转换成字符消息,例如键盘输入的字符。 4. **DispatchMessage**: 将消息传递给窗口过程进行处理。 #### 三、消息处理流程 1. **消息产生**: 当用户操作界面时...
通过调用`setLocale`方法设置当前的语言环境,再通过`translateMessage`方法获取相应的翻译结果并打印。 **4. 获取翻译结果** ```java public static String translateMessage(Locale locale) { return LANGUAGE_...
`CPaintManagerUI::TranslateMessage()`函数实现了消息的预处理,主要流程如下: 1. **检查消息类型**:首先根据消息的类型决定是否进行进一步的处理。 2. **遍历预处理消息列表**:对于每个消息,遍历`m_...
另一个关键的API函数是`TranslateMessage`,它会将键盘和鼠标消息转换为VB可以处理的形式。 为了在VB中响应鼠标滚轮事件,我们需要以下步骤: 1. **导入API函数**:在VB工程中,你需要声明API函数。例如,声明`...
3. **TranslateMessage()与DispatchMessage()**:`TranslateMessage()`用于将虚拟键码转换成字符消息,而`DispatchMessage()`则负责将消息分发给正确的窗口过程(即`WindowProc()`)。这一过程是消息最终到达目标...
在VC中,这个过程通常由`GetMessage`、`TranslateMessage`和`DispatchMessage`这三个函数协同完成。 1. `GetMessage`函数用于从消息队列中取出一条消息,如果队列为空,它会阻塞等待新的消息到来。这是一个阻塞调用...
耐得住寂寞,禁得起诱惑,这就是程序人生 步骤: 1.在WinMain中定义各种变量 ...3.创建窗口CreateWindow 4.显示窗口和更新窗口 ... TranslateMessage (&msg) ; DispatchMessage (&msg) ; } 完整代码:
// Avoid calling ::TranslateMessage for WM_KEYDOWN, WM_KEYUP, // WM_SYSKEYDOWN and WM_SYSKEYUP (except for wParam == VK_PACKET, // which is sent by SendInput when pasting text). /// // This...
TranslateMessage 函数将键盘消息转化为 WM_KEYDOWN 或 WM_KEYUP 消息,而 DispatchMessage 函数则将消息传给窗口函数,例如窗口过程函数(WindowProc)。 MFC(Microsoft Foundation Classes)是一个功能强大的...
首先,我们需要了解两个关键的API函数:`GetMessage` 和 `TranslateMessage`。这两个函数是Windows消息处理的核心,用于从消息队列中获取和处理消息。当用户操作鼠标滚轮时,系统会产生WM_MOUSEWHEEL消息,我们需要...
`TranslateMessage`将虚拟键转换为字符消息,`DispatchMessage`则根据消息类型调用相应的成员函数(如`On_WM_COMMAND`)。 在描述的示例中,发送程序创建并发送消息,接收程序则需要有一个消息循环来接收这些消息。...
VC编写,通过循环读取windows消息来监控系统的剪贴板并篡改其内容。 static DWORD WINAPI GetMessage(LPVOID pParam) ... TranslateMessage(&msg); DispatchMessage(&msg); } return (int)msg.wParam; }
hmenu=LoadMenu(hInstance,"menu"); hInst=hInstance; hwnd = CreateWindow ( szAppName, TEXT ("图形变换"), ... TranslateMessage (&msg) ; DispatchMessage (&msg) ; } return msg.wParam ; }
`TranslateMessage`会将这些消息转换为字符消息(如WM_CHAR),这样可以确保键盘输入能正确地显示在编辑框等控件中。 4. `GetInputState`:这个函数是易语言提供的,用于获取当前键盘输入的状态。它可以告诉你哪些...
Windows API提供了几个关键的函数来处理键盘输入,如`GetAsyncKeyState`、`GetKeyboardState`、`MapVirtualKey`和`TranslateMessage`等。 1. `GetAsyncKeyState`: 这个函数可以用来检测一个特定的虚拟键(如A到Z、...
一旦消息被获取,`TranslateMessage`函数会处理键盘加速键和其他消息的翻译工作,接着`DispatchMessage`函数将消息分发给相应的窗口函数,由窗口函数执行相应的处理逻辑。 在MFC(Microsoft Foundation Classes)...