1

SendMessageVisual C++ を介して、またはPostMessageVisual C++ で、キー プレス イベントを別のアプリケーションに送信したいと考えています。

F3を使用するような単一のキーをシミュレートできることを知っていSendMessage/PostMessageます。SHIFT+F3しかし、 を使用するようなキーの組み合わせを送信する方法がわかりませんSendMessage/PostMessage

私は立ち往生しました。

4

1 に答える 1

2

SendMessage/PostMessage は、キー プレスの送信には適していません。PostMessage でキーボード入力をシミュレートできないを参照してください。

.. 入力メッセージをターゲット ウィンドウのキューにポストできたとしても、キーボード シフトの状態は更新されません。ウィンドウの背後にあるコードがGetKeyState関数または関数GetAsyncKeyStateを呼び出すと、投稿されたメッセージが生成した偽の状態ではなく、「実際の」シフト状態が表示されます。

このSendInput関数は、Windows に入力を挿入するために設計されました。その関数を使用すると、少なくともシフト状態が正しく報告されます。

ご覧のとおり、レイモンドもすでに解決策を提供していますSendInput。代わりに使用してください。

于 2013-11-01T13:55:57.187 に答える