0

キーボードのクリックをシミュレートし、特定のメッセージをキリル文字で入力したいと考えています。キーボードイベントをシミュレートする方法を知っています:

SendKeyboardMessage(handle, WM_KEYDOWN, Convert.ToInt32(key), 0);
SendKeyboardMessage(handle, WM_KEYUP, Convert.ToInt32(key), 0);

ただし、第 3 引数は「Keys」型であり、キリル文字はありません。

では、キリル文字でキーボード イベントを送信するにはどうすればよいでしょうか。

グローバルではないアプリケーションにメッセージを送信することが重要です

4

2 に答える 2

1

最初にキーボード レイアウトをキリル文字に変更してから、キーボード イベントをシミュレートしてみてください。

レイアウトを変更する方法を示すこのコード プロジェクトを見つけました。

それが役立つことを願っています

于 2011-06-17T19:49:23.533 に答える
0

キリル文字でも同じ関数が機能するはずです。

KEY と CHARACTER の違いは分かりますか?キーはキーボードにありますが、文字は画面に描かれたものです。WM_KEYDOWN と WM_KEYUP は文字を送信せず、キーを送信します。Keysdatatype はキーボードをハードウェアとしてカバーします。ローカル言語での意味に関係なく、常に同じ 102 個程度のキーがあります。これらのキーは、アクティブなコード ページを使用して、後で文字に変換されます。そのため、アクティブなコードページをキリル語に切り替えて、英語のキーボードからのものであるかのように正しいキー名を送信するだけで、同じ関数をキリル語に使用できます。

于 2011-06-17T19:55:28.090 に答える