2011-10-03 26 views
0

我正在開發一個簡單的應用程序,它正在讀取操作系統的按鍵。我用API「SetWindowsHookEx」來讀取擊鍵數據。想要停止使用SetWindowsHookEx讀取後進入OS /應用程序的數據

當前數據被掛鉤讀取併發送到操作系統或應用程序。

我想停止這些數據進入操作系統或其他應用程序。使用「SetWindowsHookEx」讀取數據後,有什麼辦法可以阻止數據進入Windows 7操作系統?

回答

0

通常,爲了防止任何消息移動到其目標,請不要從鉤子回調函數中調用CallNextHookEx。默認情況下,掛鉤回調調用CallNextHookEx。

蜜蜂小心使用此功能,並只停止一些特定的消息。例如,有時這種功能被稱爲禁用某些標準鍵像Alt + F4鍵,Alt鍵+ Tab鍵等

0

如果您使用的是「正常」的鍵盤鉤子,你會發現在https://msdn.microsoft.com/en-us/ms644984.aspx答案:

如果代碼小於零,掛鉤過程必須返回由CallNextHookEx返回的值 。

如果代碼大於或等於零,並且鉤子程序確實沒有處理該消息,則強烈建議您致電 CallNextHookEx並返回它返回的值;否則,其他 已安裝WH_KEYBOARD掛鉤的應用程序將不會收到 掛鉤通知,並可能因此導致行爲不正確。如果鉤子程序處理了消息,它可能會返回一個非零值到 阻止系統將消息傳遞給鉤子或目標窗口過程的其餘部分。

如果您使用的是低級別的鍵盤掛鉤書面上https://msdn.microsoft.com/en-us/ms644985.aspx

如果NCODE小於零,鉤子過程必須返回由CallNextHookEx方法返回的值 。

如果NCODE大於或等於零,並掛鉤過程並沒有 處理消息,強烈建議您致電 CallNextHookEx方法,並返回其返回值;否則,其他已安裝WH_KEYBOARD_LL掛鉤的 應用程序將不會收到 掛接通知,並可能因此導致行爲不正確。如果鉤子程序處理了消息,它可能會返回一個非零值到 阻止系統將消息傳遞給鉤子或目標窗口過程的其餘部分。

摘要:

如果你想攔截的消息 - yust不調用CallNextHookEx方法,並從被流傳下來的鏈返回一個非零值防止它。

相關問題