WindowsAPI函數功能:
該函數將壹個消息放入(寄送)到與指定窗口創建的線程相聯系消息隊列裏,不等待線程處理消息就返回,是異步消息模式。消息隊列裏的消息通過調用GetMessage和PeekMessage取得。
函數原型:
BOOLWINAPIPostMessage(HWNDhWnd,UINTMsg,WPARAMwParam,LPARAMlParam);
參數說明:
hWnd:其窗口程序接收消息的窗口的句柄。可取有特定含義的兩個值:
HWND_BROADCAST:消息被寄送到系統的所有頂層窗口,包括無效或不可見的非自身擁有的窗口、 被覆蓋的窗口和彈出式窗口。消息不被寄送到子窗口
NULL:此函數的操作和調用參數dwThread設置為當前線程的標識符
Msg:指定被寄送的消息。
wParam:指定附加的消息特定的信息。
IParam:指定附加的消息特定的信息。
返回值:如果函數調用成功,返回非零,否則函數調用返回值為零
使用信息:
Windows NT: 3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;
頭文件:winuser.h;
輸入庫:user32.lib;
Unicode:在Windows NT環境下以Unicode和ANSI方式實現。
C語言調用範例:
下面的示例演示如何使用 PostMessage 函數向專用窗口發布消息。
#defineWM_COMPLETE(WM_USER+0)? //自定義的專用窗口消息//您可以可以使用如下的代碼發布消息到創建了指定的窗口的線程的消息隊列中
WaitForSingleObject(pparams->hEvent,INFINITE);lTime=GetCurrentTime();
PostMessage(pparams->hwnd,WM_COMPLETE,1,lTime);