BlockInput 関数 (winuser.h)
キーボードとマウスの入力イベントがアプリケーションに到達するのをブロックします。
構文
BOOL BlockInput(
[in] BOOL fBlockIt
);
パラメーター
[in] fBlockIt
種類: BOOL
関数の目的。 このパラメーターが TRUE の場合、キーボードとマウスの入力イベントはブロックされます。 このパラメーターが FALSE の場合、キーボードイベントとマウスイベントはブロック解除されます。 入力をブロックしたスレッドのみが、入力のブロックを正常に解除できることに注意してください。
戻り値
種類: BOOL
関数が成功すると、戻り値は 0 以外になります。
入力が既にブロックされている場合、戻り値は 0 になります。 詳細なエラー情報を得るには、GetLastError を呼び出します。
解説
入力がブロックされている場合、マウスまたはキーボードからの実際の物理入力は、入力キューの同期キーの状態 (GetKeyState と GetKeyboardState によって報告) に影響を与えることはなく、非同期キーの状態 (GetAsyncKeyState によって報告される) にも影響しません。 ただし、入力をブロックしているスレッドは、 SendInput を呼び出すことによって、これらの両方のキー状態に影響を与える可能性があります。 他のスレッドではこれを実行できません。
システムは、次の場合に入力のブロックを解除します。
- fBlock が FALSE に設定された BlockInput を呼び出さずに、入力をブロックしたスレッドが予期せず終了します。 この場合、システムは正常にクリーンアップされ、入力が再度有効になります。
- ユーザーが Ctrl キーを押しながら Alt キーを押しながら DEL キーを押すか、システムによって [ハード システム エラー ] モーダル メッセージ ボックスが呼び出されます (プログラムエラーやデバイスが失敗した場合など)。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | winuser.h |
Library | User32.lib |
[DLL] | User32.dll |
関連項目
概念
リファレンス