基本介紹
- 中文名:PostMessage
- Windows NT:3.1
- Windows:95
- Windows ET:1.0及以上版本
- Windows CE:1.0及以上版本
函式功能,函式原型,參數說明,使用信息,調用範例,HTML5方法,
函式功能
函式原型
BOOL WINAPI PostMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam);
參數說明
hWnd:其視窗程式接收訊息的視窗的句柄。可取有特定含義的兩個值:
HWND_BROADCAST:訊息被寄送到系統的所有頂層視窗,包括無效或不可見的非自身擁有的視窗、 被覆蓋的視窗和彈出式視窗。訊息不被寄送到子視窗
NULL:此函式的操作和調用參數dwThread設定為當前執行緒的標識符PostThreadMessage函式一樣
Msg:指定被寄送的訊息。
wParam:指定附加的訊息特定的信息。
LParam:指定附加的訊息特定的信息。
返回值:如果函式調用成功,返回非零,否則函式調用返回值為零
使用信息
Windows NT: 3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;
頭檔案:winuser.h;
輸入庫:user32.lib;
Unicode:在Windows NT環境下以Unicode和ANSI方式實現。
調用範例
下面的示例演示如何使用 PostMessage 函式向專用視窗發布訊息。
假設您定義了名為 WM_COMPLETE 的專用視窗訊息:
#defineWM_COMPLETE(WM_USER+0)//您可以使用如下的代碼發布訊息到創建了指定的視窗的執行緒的訊息佇列中WaitForSingleObject(pparams->hEvent,INFINITE);lTime=GetCurrentTime();PostMessage(pparams->hwnd,WM_COMPLETE,1,lTime);
HTML5方法
在HTML5中新增了postMessage方法,postMessage可以實現跨文檔訊息傳輸(Cross Document Messaging),Internet Explorer 8, Firefox 3, Opera 9, Chrome 3和 Safari 4都支持postMessage。
該方法可以通過綁定window的message事件來監聽傳送跨文檔訊息傳輸內容。