SendInputを使用してキープレスを送信するこのビットのコードはありますが、長いキーを保持したいときには機能しません(例:long a 'a' aaaaaaaaa 'をメモ帳に入れてください)。SendInputが保留キーC++で動作していない
今私はGoogleのすべてを見てきました。これを回避するために私が見ることができる唯一の方法は、長いホールドが必要な場合に入力を送信し続けることです。私はこれがちょうど "a"を何度も何度も繰り返し押すことをシミュレートするので、これをしたくありません。
keyboard.wVk = 0;
keyboard.wScan = MapVirtualKey(key, 0);
keyboard.dwFlags = KEYEVENTF_SCANCODE;
if (index_vector_no)
pressed[index_vector_no] = true;
keyboard.dwExtraInfo = 0;
input.type = INPUT_KEYBOARD;
input.ki = keyboard;
SendInput(1, &input, sizeof (input));
だから私は、次の質問にいくつか答えたいと思います:
A)は、私は右の思考でこの回避する方法はSendInputを使用してありませんし、なぜそれが長い間保留のために動作しないのですか?
B)キーダウンおよびキーアップ信号を正常に送信するための代替方法は何ですか。好ましくは、特定のアプリケーションだけでなくウィンドウにキーを送ること。
C)グローバルなキーボードとマウスのシミュレーションを処理するのに使用できる軽量なC++ライブラリがありますか?
ありがとうございます! =)
EDIT:私の問題の詳細については、この記事を見てみましょう:http://www.experts-exchange.com/Programming/Languages/Visual_Basic/Q_20833788.html
これはWindows用ですか? VC++を使用していますか? –
複数回押してシミュレーションするのはどうですか?私がそれを考えることができる唯一の理由は違いが...窓でなければならない。 – chris
はいそれは窓にあります。私はちょうど.cppファイルのエンディングで通常のC++を使用しています。私はそれが違いをもたらす場合、MinGWコンパイラを使用しています! @Chrisこれはゲームを制御するためのものですので、ジャークカーが前方に移動することになります。 – geekman92