BlockInput 函式 (winuser.h)
封鎖鍵盤和滑鼠輸入事件,防止到達應用程式。
語法
BOOL BlockInput(
[in] BOOL fBlockIt
);
參數
[in] fBlockIt
類型: BOOL
函式的用途。 如果此參數為 TRUE,則會封鎖鍵盤和滑鼠輸入事件。 如果此參數為 FALSE,則會解除封鎖鍵盤和滑鼠事件。 請注意,只有封鎖輸入的線程可以成功解除封鎖輸入。
傳回值
類型: BOOL
如果函式成功,則傳回非零的值。
如果已經封鎖輸入,則傳回值為零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError。
備註
當輸入遭到封鎖時,來自滑鼠或鍵盤的實際實體輸入不會影響輸入佇列的同步按鍵狀態 (由 GetKeyState 和 GetKeyboardState) 所報告,也不會影響 GetAsyncKeyState 所報告的異步按鍵狀態 () 。 不過,封鎖輸入的線程會藉由呼叫 SendInput 來影響這兩個索引鍵狀態。 沒有其他線程可以這麼做。
在下列情況下,系統會解除封鎖輸入:
- 封鎖輸入的線程意外結束,而不呼叫 BlockInput並將 fBlock 設定為 FALSE。 在此情況下,系統會正確清除並重新啟用輸入。
- 使用者按下 CTRL+ALT+DEL 或系統叫用 硬式系統錯誤 強制回應消息框 (,例如,當程式錯誤或裝置失敗時,) 。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | winuser.h |
程式庫 | User32.lib |
Dll | User32.dll |
另請參閱
概念
參考