共用方式為


CallMsgFilterA 函式 (winuser.h)

將指定的訊息和攔截程式代碼傳遞至與 WH_SYSMSGFILTER 和WH_MSGFILTER拦截相关联的拦截程序。 WH_SYSMSGFILTERWH_MSGFILTER 攔截程式是應用程式定義的回呼函式,可檢查和選擇性地修改對話框、消息框、功能表或滾動條的訊息。

語法

BOOL CallMsgFilterA(
  [in] LPMSG lpMsg,
  [in] int   nCode
);

參數

[in] lpMsg

類型:LPMSG

MSG 結構的指標,其中包含要傳遞至攔截程式的訊息。

[in] nCode

類型:int

攔截程式用來判斷如何處理訊息的應用程式定義程序代碼。 程式代碼必須與與 WH_SYSMSGFILTERWH_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 中引進)

另請參閱

概念

MSG

MessageProc

參考

SetWindowsHookEx

SysMsgProc