BlockInput 函式 (winuser.h)

封鎖鍵盤和滑鼠輸入事件,防止到達應用程式。

語法

BOOL BlockInput(
  [in] BOOL fBlockIt
);

參數

[in] fBlockIt

類型: BOOL

函式的用途。 如果此參數為 TRUE,則會封鎖鍵盤和滑鼠輸入事件。 如果此參數為 FALSE,則會解除封鎖鍵盤和滑鼠事件。 請注意,只有封鎖輸入的線程可以成功解除封鎖輸入。

傳回值

類型: BOOL

如果函式成功,則傳回非零的值。

如果已經封鎖輸入,則傳回值為零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError

備註

當輸入遭到封鎖時,來自滑鼠或鍵盤的實際實體輸入不會影響輸入佇列的同步按鍵狀態 (由 GetKeyStateGetKeyboardState) 所報告,也不會影響 GetAsyncKeyState 所報告的異步按鍵狀態 () 。 不過,封鎖輸入的線程會藉由呼叫 SendInput 來影響這兩個索引鍵狀態。 沒有其他線程可以這麼做。

在下列情況下,系統會解除封鎖輸入:

  • 封鎖輸入的線程意外結束,而不呼叫 BlockInput並將 fBlock 設定為 FALSE。 在此情況下,系統會正確清除並重新啟用輸入。
  • 使用者按下 CTRL+ALT+DEL 或系統叫用 硬式系統錯誤 強制回應消息框 (,例如,當程式錯誤或裝置失敗時,) 。

規格需求

需求
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
目標平台 Windows
標頭 winuser.h
程式庫 User32.lib
Dll User32.dll

另請參閱

概念

GetAsyncKeyState

GetKeyState

GetKeyboardState

鍵盤輸入

參考

SendInput