2012-03-28 4 views
5

キーボードからイベントを取得するCプログラムがあります。しかし、私はそれをシミュレートされたキーボードイベントを送信するJavaを使用します。Javaを使用して、SDLを使用するCプログラムにシミュレートされたWindowsキーボードイベントを送信します。

  1. は、Robotクラス
  2. コールwin32.dll(ネイティブ)でkeybd_event関数を使用してください:私は2つのアプローチを試してみました。

上記の方法はどちらも、テキストエディタなどにキーを送信するなどの処理を行いますが、他のプログラム(正確にはGIMX)はイベントを認識しません。なぜこれがどうなるのか、Javaと通信するために私ができることは何ですか?

+0

私はあなたの問題に精通していないんだが、keybd_eventのドキュメントではなくsendinput使用することを言います:http://msdn.microsoft.com/en-us/library/windows/デスクトップ/ ms646304(v = vs.85).aspx –

+0

メモ帳でも動作しますか?私。あなたの終わり、またはGIMXの終わりでの問題ですか? – Ben

答えて

1

は、関連する議論についてはこちらを参照してください:あなたはすなわちDirectInputはで動作するようにコードをスキャン、低レベルSendInputイベントを送信する必要があるよう

基本的に

http://social.msdn.microsoft.com/forums/en-US/netfxbcl/thread/29cf2de9-412e-44dd-9050-174089d8e2a2/

、それが見えます。スキャンコードを使用するには、KBDINPUT構造体にKEYEVENTF_SCANCODEを渡し、スキャンコードをwScanに渡します。

関連する問題