PostMessage

PostMessage

PostMessage是Windows API(應用程序介面) 中的一個常用函數,用於將一條消息放入到消息隊列中。消息隊列里的消息通過調用GetMessage和PeekMessage取得。

函數功能


該函數將一個消息放入(寄送)到與指定窗口創建的線程相聯繫消息隊列里,不等待線程處理消息就返回,是非同步消息模式。消息隊列里的消息通過調用GetMessage和PeekMessage取得。

參數說明


hWnd:其窗口程序接收消息的窗口的句柄。可取有特定含義的兩個值:
HWND_BROADCAST:消息被寄送到系統的所有頂層窗口,包括無效或不可見的非自身擁有的窗口、被覆蓋的窗口和彈出式窗口。消息不被寄送到子窗口
NULL:此函數的操作和調用參數dwThread設置為當前線程的標識符PostThreadMessage函數一樣
Msg:指定被寄送的消息。
wParam:指定附加的消息特定的信息。
LParam:指定附加的消息特定的信息。
返回值:如果函數調用成功,返回非零,否則函數調用返回值為零

使用信息


Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;
Unicode:在Windows NT環境下以Unicode和ANSI方式實現。

調用範例


下面的示例演示如何使用PostMessage函數向專用窗口發布消息。
假設您定義了名為WM_COMPLETE的專用窗口消息:

方法介紹


HTML5中新增了postMessage方法,postMessage可以實現跨文檔消息傳輸(Cross Document Messaging),Internet Explorer 8, Firefox 3, Opera 9, Chrome 3和 Safari 4都支持postMessage。
該方法可以通過綁定window的message事件來監聽發送跨文檔消息傳輸內容。