|
发表于 2022-12-9 14:08:32
|
显示全部楼层
PostMessage:PostMessage是Windows API(应用程序接口) 中的一个常用函数,用于将一条消息放入到消息队列中。消息队列里的消息通过调用GetMessage和PeekMessage取得。
函数原型:BOOL WINAPI PostMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam);
hWnd:其窗口程序接收消息的窗口的句柄。可取有特定含义的两个值:
HWND_BROADCAST:消息被寄送到系统的所有顶层窗口,包括无效或不可见的非自身拥有的窗口、 被覆盖的窗口和弹出式窗口。消息不被寄送到子窗口
NULL:此函数的操作和调用参数dwThread设置为当前线程的标识符PostThreadMessage函数一样
Msg:指定被寄送的消息。
wParam:指定附加的消息特定的信息。
LParam:指定附加的消息特定的信息。
返回值:如果函数调用成功,返回非零,否则函数调用返回值为零
头文件:winuser.h;
输入库:user32.lib;
下面的示例演示如何使用 PostMessage 函数向专用窗口发布消息。
假设您定义了名为 WM_COMPLETE 的专用窗口消息:
#defineWM_COMPLETE(WM_USER+0)
//您可以使用如下的代码发布消息到创建了指定的窗口的线程的消息队列中
WaitForSingleObject(pparams->hEvent,INFINITE);
lTime=GetCurrentTime();
PostMessage(pparams->hwnd,WM_COMPLETE,1,lTime); |
|