次の方法で共有


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

関連項目

概念

GetAsyncKeyState

GetKeyState

GetKeyboardState

キーボード入力

リファレンス

SendInput