2

キーボードのキーを押すコマンドをシミュレートする必要があるプログラムを C# で作成しています。

問題は、偽のクリックではなく、「現実的な」キーボード ボタンのクリックをシミュレートする必要があることです。たとえば、私が理解している限り:

  • ユーザーがキーボードの任意のボタンを押すと、信号は USB 経由で送信され、キーボードのドライバー経由で処理されます。

  • API が使用されている場合 (SendInput、SendKeys、KeyBoardEvent など) - USB とドライバーをバイパスするため、基本的にこれらの種類のプレスはグローバル フック メソッドを介して追跡できます。

リアルなキー操作をどのようにシミュレートしますか?

  • 私は C++ の知識がないので、カスタム ドライバーを作成することはできません。

  • 安価である限り、マイクロコントローラーや追加のハードウェア「ソリューション」を使用してもかまいません..

  • PC2 から PC1 に現実的なキーボード ボタンの押下信号を送信する目的で、USB ケーブルを介して 2 台の PC を接続することは可能でしょうか?

それで、方法は何ですか?

4

1 に答える 1

5

SendInput() で送信されたキーボード イベントは、グローバル キーボード フック (WH_KEYBOARD_LL) で識別できます。コールバック メソッドのLowLevelKeyboardProcは、パラメーターとしてKBDLLHOOKSTRUCTを受け取ります。

LLKHF_INJECTED フラグが KBDLLHOOKSTRUCT.flags に設定されている場合、SendInput() でキーボード イベントが挿入されました。

于 2012-09-09T12:34:43.037 に答える