-4

こんにちは、キーの押下を仮想的にシミュレートするために keybd_event を使用する ac# アプリケーションがあります。アプリケーションを実行すると、すべてのキーを押しても問題なく動作します。ただし、アプリケーションを閉じた後、キーボードのキーの一部がごちゃごちゃになり、特定のキーを押したときにデフォルトのコマンドが実行されません。

ありがとう。

4

1 に答える 1

2

プログラムで「押した」修飾キーを離すのを忘れたと思います。押すすべてのキーkeybd_eventのオプションで呼び出すようにしてください。KEYEVENTF_KEYUP

Ctrl+を押す例を次に示しQます。

keybd_event(VK_CONTROL, 0, 0, 0);
keybd_event(VK_Q, 0, 0, 0);
keybd_event(VK_Q, 0, KEYEVENTF_KEYUP, 0);
keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0);

最後の行を忘れると、それ以降のすべてのキー押下は、たとえユーザーが手動で行ったとしても、Ctrlキーがまだ押されているかのように解釈されます。

于 2012-06-24T13:59:10.633 に答える