6

プログラムが他のプログラムからのキー入力をブロックすることはできますが、キーボードのキーを押すユーザーの手からの直接のキー入力はブロックできませんか?

例えば:

ProgramA にはテキスト フィールドが含まれています。

ProgramB は Windows オンスクリーン キーボードです。

ProgramA でテキスト フィールドを選択した後、スクリーン キーボード プログラムで文字 'c' を押してみましたが、テキスト フィールドに表示されません。

ただし、キーボードから直接文字「c」を押すと、ProgramA のテキスト フィールド内に表示されます。

キーイベントがどのように機能するか、それらがどのようにキューに入れられるかを知っており、c++ で BlockInput 関数を見たことがある

http://msdn.microsoft.com/en-us/library/windows/desktop/ms646290%28v=vs.85%29.aspx

しかし、その関数は単にすべての入力をブロックします。

この方法で入力をフィルタリングするプログラムに遭遇しましたが、その方法を理解できないようです。完全に明らかな何かが欠けていますか?

この質問は、主に Windows 7 オペレーティング システムの c++ に関するものです。

4

1 に答える 1

1

入力がハードウェアから来ているかどうかは決してわかりません。最も単純な例は、ソフトウェア入力によって駆動される実際のキーボードをシミュレートするカスタム ドライバーです。

マイクをデバイスに取り付けて、入力フィルタリングの音/振動を聞くという凝ったアイデアもありますが、個人ユーザーに提供される完全なハードウェア ソリューションまたはアプリケーションを意味するのでしょうか?

于 2013-03-28T12:24:26.740 に答える