MouseProc 函式

Description

SetWindowsHookExA/SetWindowsHookExW函式搭配使用的應用程式定義或程式庫定義回呼函式。 每當應用程式呼叫GetMessagePeekMessageA/PeekMessageW函式,而且有要處理的滑鼠訊息時,系統就會呼叫此函式。

HOOKPROC類型會定義這個回呼函式的指標。 MouseProc 是應用程式定義或程式庫定義函數名稱的預留位置。

LRESULT CALLBACK MouseProc(
  _In_ int    nCode,
  _In_ WPARAM wParam,
  _In_ LPARAM lParam
);

參數

nCode [in]

類型: int

攔截程式用來判斷如何處理訊息的程式碼。

如果 nCode 小於零,攔截程式必須將訊息傳遞至 CallNextHookEx 函式,而不需進一步處理,而且應該傳回 CallNextHookEx傳回的值。

此參數可以是下列其中一個值。

意義
HC_ACTION 0 wParamlParam參數包含滑鼠訊息的相關資訊。
HC_NOREMOVE 3 wParamlParam參數包含滑鼠訊息的相關資訊,而且尚未從訊息佇列中移除滑鼠訊息。 (名為 PeekMessage 函式的應用程式,指定 PM_NOREMOVE flag.)

wParam [in]

類型: WPARAM

滑鼠訊息的識別碼。

lParam [in]

類型: LPARAM

MOUSEHOOKSTRUCT結構的指標。

傳回

類型: LRESULT

如果 nCode 小於零,攔截程式必須傳回 CallNextHookEx傳回的值。

如果 nCode 大於或等於零,且攔截程式未處理訊息,強烈建議您呼叫 CallNextHookEx 並傳回傳回的值;否則,已安裝 WH_MOUSE 勾點的其他應用程式將不會收到勾點通知,因此的行為可能會不正確。

如果攔截程式處理訊息,它可能會傳回非零值,以防止系統將訊息傳遞至目標視窗程式。

備註

應用程式會藉由指定WH_MOUSE勾點類型和呼叫SetWindowsHookExA/SetWindowsHookExW函式中的攔截程式指標來安裝攔截程式。

攔截程式不得安裝 WH_JOURNALPLAYBACK 回呼函式。

這個勾點可以在安裝它的執行緒內容中呼叫。 呼叫是藉由將訊息傳送至已安裝攔截的執行緒來進行。 因此,安裝攔截的執行緒必須有訊息迴圈。

另請參閱

CallNextHookEx

GetMessage

MOUSEHOOKSTRUCT

PeekMessage

SetWindowsHookEx

勾點

關於勾點