Windows 訊息傳遞與處理核心 API
Windows 訊息機制是視窗程式的核心,以下為常用訊息相關 API 函數分類整理。
訊息發送與張貼
- SendMessage:同步發送訊息至視窗程序,等待處理完成才返回
- SendMessageTimeout:帶逾時機制的同步發送
- SendMessageCallback:非同步發送,處理完成後呼叫回呼函式
- SendNotifyMessage:非同步發送,不等待處理完成
- PostMessage:將訊息張貼至視窗佇列,立即返回
- PostThreadMessage:將訊息張貼至執行緒佇列
- BroadcastSystemMessage:廣播系統訊息給所有頂層視窗
訊息資訊查詢
- GetMessagePos:取得上一條訊息處理時的滑鼠螢幕座標
- GetMessageTime:取得上一條訊息處理時的時間戳記
- RegisterWindowMessage:註冊全域唯一的自訂訊息編號
- ReplyMessage:回覆訊息(用於處理
SendMessage 時的回傳值)
核心差異提醒
| 函式 | 行為 | 回傳時機 |
| SendMessage | 直接呼叫視窗程序 | 處理完成後 |
| PostMessage | 放入訊息佇列 | 張貼成功即返回 |
| SendMessageTimeout | 同步發送含逾時 | 處理完成或逾時 |
| SendNotifyMessage | 非同步發送 | 立即返回 |
詳細參數與使用範例請參考 MSDN《Message Functions》。