当前位置:首页 科普知识 PostMessage

PostMessage

发布时间:2023-09-14 00:52:51

PostMessage是Windows API(应用程序接口) 中的一个常用函数,用于将一条消息放入到消息队列中。消息队列里的消息通过调用GetMessage和PeekMessage取得。

PostMessage介绍

PostMessage是Windows API(应用程序接口) 中的一个常用函数,用于将一条消息放入到消息队列中。消息队列里的消息通过调用GetMessage和PeekMessage取得。

PostMessage

PostMessage函数功能

该函数将一个消息放入(寄送)到与指定窗口创建的线程相联系消息队列里,不等待线程处理消息就返回,是异步消息模式。消息队列里的消息通过调用GetMessage和PeekMessage取得。

PostMessage函数原型

BOOL WINAPI PostMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam);

PostMessage参数说明

hWnd:其窗口程序接收消息的窗口的句柄。可取有特定含义的两个值:

HWND_BROADCAST:消息被寄送到系统的所有顶层窗口,包括无效或不可见的非自身拥有的窗口、 被覆盖的窗口和弹出式窗口。消息不被寄送到子窗口

NULL:此函数的操作和调用参数dwThread设置为当前线程的标识符PostThreadMessage函数一样

Msg:指定被寄送的消息。

wParam:指定附加的消息特定的信息。

PostMessage

LParam:指定附加的消息特定的信息。

返回值:如果函数调用成功,返回非零,否则函数调用返回值为零

PostMessage使用信息

Windows NT: 3.1及以上版本;Windows:95及以上版本;Windows CE:

1.0及以上版本;

头文件:winuser.h;

输入库:user32.lib;

Unicode:在Windows NT环境下以Unicode和ANSI方式实现。

PostMessage调用范例

下面的示例演示如何使用 PostMessage 函数向专用窗口发布消息。

PostMessage

假设您定义了名为 WM_COMPLETE 的专用窗口消息:

#defineWM_COMPLETE(WM_USER+0)//您可以使用如下的代码发布消息到创建了指定的窗口的线程的消息队列中WaitForSingleObject(pparams->hEvent,INFINITE);lTime=GetCurrentTime();PostMessage(pparams->hwnd,WM_COMPLETE,1,lTime);

PostMessageHTML5方法

在HTML5中新增了postMessage方法,postMessage可以实现跨文档消息传输(Cross document Messaging),Internet Explorer 8, Firefox 3, Opera 9, Chrome 3和 Safari 4都支持postMessage。

该方法可以通过绑定window的message事件来监听发送跨文档消息传输内容。

温馨提示:
本文【PostMessage】由作者 爱百科 转载提供。 该文观点仅代表作者本人, 自学教育网 信息发布平台,仅提供信息存储空间服务, 若存在侵权问题,请及时联系管理员或作者进行删除。
(c)2008-2025 自学教育网 All Rights Reserved 汕头市灵创科技有限公司
粤ICP备2024240640号-6