勾點
勾點是系統訊息處理機制中的一點,應用程式可以安裝副程式來監視系統中的訊息流量,並在到達目標視窗程式之前處理特定類型的訊息。
本節內容
名稱 | 描述 |
---|---|
勾點概觀 | 討論應該如何使用勾點。 |
使用勾點 | 示範如何執行與勾點相關聯的工作。 |
勾點參考 | 包含 API 參考。 |
攔截函式
名稱 | 描述 |
---|---|
CallMsgFilter | 將指定的訊息和攔截程式碼傳遞至與 WH_SYSMSGFILTER 和 WH_MSGFILTER 攔截程式相關聯的攔截程式。 |
CallNextHookEx | 將勾點資訊傳遞至目前勾點鏈結中的下一個攔截程式。 攔截程式可以在處理攔截資訊之前或之後呼叫此函式。 |
CallWndProc | 搭配 SetWindowsHookEx 函式使用的應用程式定義或程式庫定義回呼函式。 系統會先呼叫此函式,再呼叫視窗程式來處理傳送至執行緒的訊息。 |
CallWndRetProc | 搭配 SetWindowsHookEx 函式使用的應用程式定義或程式庫定義回呼函式。 呼叫 SendMessage 函式之後,系統會呼叫此函式。 攔截程式可以檢查訊息;它無法修改它。 |
CBTProc | 搭配 SetWindowsHookEx 函式使用的應用程式定義或程式庫定義回呼函式。 系統會在啟動、建立、終結、最小化、最大化、移動或調整視窗大小之前呼叫此函式;完成系統命令之前;從系統訊息佇列移除滑鼠或鍵盤事件之前;設定鍵盤焦點之前;或 與系統訊息佇列同步處理之前。 以電腦為基礎的訓練 (CBT) 應用程式會使用此攔截程式從系統接收有用的通知。 |
DebugProc | 搭配 SetWindowsHookEx 函式使用的應用程式定義或程式庫定義回呼函式。 系統會先呼叫此函式,再呼叫與任何類型的勾點相關聯的攔截程式。 系統會傳遞有關要呼叫之攔截的資訊給 DebugProc 攔截程式,它會檢查資訊,並判斷是否允許呼叫攔截。 |
ForegroundIdleProc | 搭配 SetWindowsHookEx 函式使用的應用程式定義或程式庫定義回呼函式。 每當前景執行緒即將變成閒置時,系統就會呼叫此函式。 |
GetMsgProc | 搭配 SetWindowsHookEx 函式使用的應用程式定義或程式庫定義回呼函式。 每當 GetMessage 或 PeekMessage 函式已從應用程式訊息佇列擷取訊息時,系統就會呼叫此函式。 將擷取的訊息傳回給呼叫端之前,系統會將訊息傳遞至攔截程式。 |
JournalPlaybackProc | 搭配 SetWindowsHookEx 函式使用的應用程式定義或程式庫定義回呼函式。 一般而言,應用程式會使用此函式來播放 JournalRecordProc 攔截程式先前記錄的一系列滑鼠和鍵盤訊息。 只要已安裝 JournalPlaybackProc 攔截程式,就會停用一般滑鼠和鍵盤輸入。 |
JournalRecordProc | 搭配 SetWindowsHookEx 函式使用的應用程式定義或程式庫定義回呼函式。 函式會記錄系統從系統訊息佇列中移除的訊息。 稍後,應用程式可以使用 JournalPlaybackProc 攔截程式來播放訊息。 |
KeyboardProc | 搭配 SetWindowsHookEx 函式使用的應用程式定義或程式庫定義回呼函式。 每當應用程式呼叫GetMessage或PeekMessage函式時,系統就會呼叫此函式,而且 (WM_KEYUP或WM_KEYDOWN) 處理鍵盤訊息。 |
LowLevelKeyboardProc | 搭配 SetWindowsHookEx 函式使用的應用程式定義或程式庫定義回呼函式。 每當新的鍵盤輸入事件即將張貼到執行緒輸入佇列時,系統會呼叫此函式。 |
LowLevelMouseProc | 搭配 SetWindowsHookEx 函式使用的應用程式定義或程式庫定義回呼函式。 每當新的滑鼠輸入事件即將張貼到執行緒輸入佇列時,系統就會呼叫此函式。 |
MessageProc | 搭配 SetWindowsHookEx 函式使用的應用程式定義或程式庫定義回呼函式。 系統會在輸入事件發生在對話方塊、訊息方塊、功能表或捲軸之後呼叫此函式,但在處理輸入事件所產生的訊息之前。 攔截程式可以監視特定應用程式或所有應用程式所建立之對話方塊、訊息方塊、功能表或捲軸的訊息。 |
MouseProc | 搭配 SetWindowsHookEx 函式使用的應用程式定義或程式庫定義回呼函式。 每當應用程式呼叫 GetMessage 或 PeekMessage 函式,而且有要處理的滑鼠訊息時,系統就會呼叫此函式。 |
SetWindowsHookEx | 將應用程式定義的攔截程式安裝到勾點鏈結中。 您會安裝攔截程式來監視系統是否有特定類型的事件。 這些事件與特定執行緒或與呼叫執行緒位於相同桌面上的所有線程相關聯。 |
ShellProc | 搭配 SetWindowsHookEx 函式使用的應用程式定義或程式庫定義回呼函式。 函式會從系統接收 Shell 事件的通知。 |
SysMsgProc | 搭配 SetWindowsHookEx 函式使用的應用程式定義或程式庫定義回呼函式。 系統會在輸入事件發生在對話方塊、訊息方塊、功能表或捲軸之後呼叫此函式,但在處理輸入事件所產生的訊息之前。 函式可以監視系統中任何對話方塊、訊息方塊、功能表或捲軸的訊息。 |
UnhookWindowsHookEx | 移除 SetWindowsHookEx 函式安裝在勾點鏈結中的攔截程式。 |
勾點通知
名稱 | 描述 |
---|---|
WM_CANCELJOURNAL | 當使用者取消應用程式的日誌活動時,張貼至應用程式。 訊息會以 Null 視窗控制碼張貼。 |
WM_QUEUESYNC | 由 CBT 應用程式傳送,將使用者輸入訊息與其他透過 WH_JOURNALPLAYBACK 程式傳送的訊息分開。 |
勾點結構
名稱 | 描述 |
---|---|
CBT_CREATEWND | 包含傳遞至 WH_CBT 勾點程式 CBTProc的資訊,再建立視窗。 |
CBTACTI加值稅ESTRUCT | 包含在啟動視窗之前傳遞至 WH_CBT 勾點程式 CBTProc的資訊。 |
CWPRETSTRUCT | 定義傳遞至 WH_CALLWNDPROCRET 勾點程式 CallWndRetProc的訊息參數。 |
CWPSTRUCT | 定義傳遞至 WH_CALLWNDPROC 攔截程式 CallWndProc的訊息參數。 |
DEBUGHOOKINFO | 包含傳遞至 WH_DEBUG 勾點程式 DebugProc的偵錯資訊。 |
EVENTMSG | 包含傳送至系統訊息佇列的硬體訊息相關資訊。 這個結構用來儲存 JournalPlaybackProc 回呼函式的訊息資訊。 |
KBDLLHOOKSTRUCT | 包含低階鍵盤輸入事件的相關資訊。 |
MOUSEHOOKSTRUCT | 包含傳遞至WH_MOUSE攔截程式MouseProc的滑鼠事件相關資訊。 |
MOUSEHOOKSTRUCTEX | 包含傳遞至WH_MOUSE攔截程式MouseProc的滑鼠事件相關資訊。 |
MSLLHOOKSTRUCT | 包含低階滑鼠輸入事件的相關資訊。 |