キーボード入力をキャプチャしてスクリプトに格納する必要があるwinformsアプリケーションがあります。スクリプトをIronPythonで再生して、アプリケーションを自動化することができます。私の現在の取り組みは、KeyPressイベントを待ち受け、SendKeys.Send()で押された文字を再送することです。モディファイア(alt、ctrl)で入力を処理するには、KeyDownイベントを待ち受けますが、ここではスクリプトで押されたキーをどのように表現するか分かりません。これは私がやりたいものです。UIオートメーションのキーボード入力を保存して再送信する方法は?
public void TextBox_KeyDown(KeyEventArgs e)
{
Script.AddStatement(string.Format("SendKeys.Send('{0}')", ????));
}
私は手動でのSendKeysが理解KeyEventArgsから文字列を作成する必要がありますか?
たとえばshift + Aの場合、shift + BはSendKeys.Send( "+(AB)")になります。詳細はMSDNです。
別の方法がありますか?多分、KeyEventArgs.KeyDataを格納し、新しいKeyEventArgsインスタンスを作成し、それを何とか送信するのでしょうか?
スクリプトはどのような種類ですか? –
パラメータとして期待しているSendKeys.Send()とは何ですか?たぶん(char)e.KeyCodeは既にいいです... –