CallMsgFilterA 函式 (winuser.h)
將指定的訊息和勾點程式碼傳遞至與 WH_SYSMSGFILTER和WH_MSGFILTER 勾點相關聯的勾點程式。 WH_SYSMSGFILTER或WH_MSGFILTER攔截程式是應用程式定義的回呼函式,可檢查對話方塊、訊息方塊、功能表或捲軸的訊息,並選擇性地修改訊息。
語法
BOOL CallMsgFilterA(
[in] LPMSG lpMsg,
[in] int nCode
);
參數
[in] lpMsg
類型: LPMSG
MSG結構的指標,其中包含要傳遞至攔截程式的訊息。
[in] nCode
類型: int
攔截程式用來判斷如何處理訊息的應用程式定義程式碼。 程式碼必須與系統定義的攔截程式碼 (MSGF_值相同,而且HC_) 與 WH_SYSMSGFILTER 和 WH_MSGFILTER 勾點相關聯。
傳回值
類型: BOOL
如果應用程式應該進一步處理訊息,傳回值為零。
如果應用程式不應該進一步處理訊息,則傳回值為非零。
備註
系統會呼叫 CallMsgFilter ,讓應用程式在內部處理對話方塊、訊息方塊、功能表和捲軸期間檢查和控制訊息的流程,或當使用者按下 ALT+TAB 鍵組合來啟動不同的視窗時。
使用 SetWindowsHookEx 函式來安裝此攔截程式。
範例
如需範例,請參閱 WH_MSGFILTER和WH_SYSMSGFILTER勾點。
注意
winuser.h 標頭會將 CallMsgFilter 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程式碼,可能會導致編譯或執行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例。
規格需求
最低支援的用戶端 | Windows 2000 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | winuser.h (包括 Windows.h) |
程式庫 | User32.lib |
Dll | User32.dll |
API 集合 | ext-ms-win-ntuser-message-l1-1-0 (在 Windows 8) |
另請參閱
概念
參考