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
攔截程式用來判斷如何處理訊息的應用程式定義程序代碼。 程式代碼必須與與 WH_SYSMSGFILTER 和 WH_MSGFILTER 勾點相關聯的系統定義攔截碼(MSGF_和HC_)具有相同的值。
傳回值
類型:BOOL
如果應用程式應該進一步處理訊息,則傳回值為零。
如果應用程式不應該進一步處理訊息,則傳回值為非零值。
言論
系統會呼叫 CallMsgFilter,讓應用程式能夠在內部處理對話框、消息框、功能表和滾動條期間檢查和控制訊息的流程,或使用者按下 ALT+TAB 鍵組合啟動不同的視窗時。
使用 SetWindowsHookEx 函式來安裝此攔截程式。
例子
如需範例,請參閱 WH_MSGFILTER 和 WH_SYSMSGFILTER Hooks。
注意
winuser.h 標頭會根據 UNICODE 預處理器常數的定義,將 CallMsgFilter 定義為自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
支援的最低伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平臺 | 窗戶 |
標頭 | winuser.h (包括 Windows.h) |
連結庫 | User32.lib |
DLL | User32.dll |
API 集 | ext-ms-win-ntuser-message-l1-1-0 (在 Windows 8 中引進) |
另請參閱
概念
參考