プログラムからキー入力を行う
こちらを参考にした.
事前準備
SendKeysを試すためにMicrosoft.VisualBasic
アセンブリを使うので追加しておく.SendKeysを使うこと自体には関係ない.
ソリューションエクスプローラで,プロジェクトの「References」を右クリックしてコンテキストメニューから「Add Reference」を選択する.
ダイアログが開くので「Assemblies」でMicrosoft.VisualBasic
を検索し,チェックをつけて「OK」ボタンを押す.
プロジェクトを作って試す
WPF(.NET Framework)のプロジェクトを作成する.
ボタンを設置し,そのクリックイベントハンドラーに以下のように書く.
private void button_Click(object sender, RoutedEventArgs e) { Microsoft.VisualBasic.Interaction.AppActivate("Notepad"); //SendKeysはSystem.Windows.Forms名前空間 SendKeys.SendWait("キー入力{ENTER}テスト"); SendKeys.SendWait("{LEFT}{LEFT}{LEFT}{LEFT}{LEFT}"); }
SendKeys.Sendメソッドでは以下のような実行時エラーが発生するのでSendKeys.SendWaitメソッドを使用している.
上のコードを実行する際にはメモ帳を事前に起動しておく.
このコードは起動してあるメモ帳をアクティブにして,そこに指定したキー入力を行うもの.
文字以外のキーのコードは以下の公式ドキュメントにかかれている.
https://docs.microsoft.com/ja-jp/dotnet/api/system.windows.forms.sendkeys.send?view=netframework-4.8