共用方式為


GetMsgProc 函式

Description

一個應用程式定義或函式庫定義的回調函式,搭配 SetWindowsHookExA/SetWindowsHookExW 函式使用。 當 GetMessagePeekMessageA/PeekMessageW 函式從應用程式訊息佇列取得訊息時,系統會呼叫此函式。 在將取回訊息回傳給呼叫者之前,系統會將訊息傳給掛鉤程序。

HOOKPROC 型別定義了指向此回調函式的指標。 GetMsgProc 是應用程式定義或函式庫定義函式名稱的佔位符。

LRESULT CALLBACK GetMsgProc(
  _In_ int    code,
  _In_ WPARAM wParam,
  _In_ LPARAM lParam
);

參數

代碼 [in]

類型:int

指定 hook 程序是否必須處理該訊息。 若程式碼HC_ACTION,掛鉤程序必須處理該訊息。 若 程式碼 小於零,掛鉤程序必須將訊息傳給 CallNextHookEx 函式,且不應再處理,且應回傳 CallNextHookEx 回傳的值。

wParam [in]

類型: WPARAM

指定訊息是否已從佇列中移除。 此參數可以是下列其中一個值。

價值觀 Meaning
PM_NOREMOVE 0x0000 訊息尚未從排隊列中移除。 (一個稱為 PeekMessage 函式的應用程式,指定 PM_NOREMOVE 標誌。)
PM_REMOVE 0x0001 該訊息已被從排隊列中移除。 (一個名為 GetMessage 的應用程式,或稱為 PeekMessage 函式,指定 PM_REMOVE 標誌。)

lParam [在]

類型: LPARAM

指向包含訊息細節的 MSG 結構的指標。

退貨

程式碼 小於零,掛鉤程序必須回傳 CallNextHookEx 回傳的值。

如果 程式碼 大於或等於零,強烈建議你呼叫 CallNextHookEx 並回傳它回傳的值;否則,安裝 WH_GETMESSAGE 鉤子的其他應用程式將無法收到鉤子通知,可能導致行為異常。 如果 hook 程序沒有呼叫 CallNextHookEx,則回傳值應該為零。

備註

GetMsgProc 的掛鉤程序可以檢查或修改訊息。

在 hook 程序將控制權回傳給系統後, GetMessagePeekMessageA/PeekMessageW 函式會將訊息及任何修改內容回傳給最初呼叫該訊息的應用程式。

應用程式透過呼叫 SetWindowsHookExA/SetWindowsHookExW 函式,指定 WH_GETMESSAGE 鉤子類型及指向鉤子程序的指標來安裝此鉤子程序。

另請參閱

呼叫下一個鉤子Ex

Get訊息

味精

窺視訊息

SetWindowsHookEx

勾點