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

攔截程式用來判斷如何處理訊息的應用程式定義程式碼。 程式碼必須與系統定義的攔截程式碼 (MSGF_值相同,而且HC_) 與 WH_SYSMSGFILTERWH_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)

另請參閱

概念

勾點

味精

MessageProc

參考

SetWindowsHookEx

SysMsgProc