C# でのキー押下イベントのプログラムによる生成
キーボードの押下をシミュレートするイベントのプログラムによる生成は、自動化テストなどのさまざまなシナリオで重要なタスクです。ユーザーインターフェイスのシミュレーションも可能です。この記事では、C# で、特に WPF フレームワーク内でこの機能を実現する方法について説明します。
WPF アプリケーションのソリューション
WPF アプリケーションの簡単なアプローチは、KeyEventArgs を利用することです。クラスとターゲット要素の RaiseEvent メソッド。現在フォーカスされている要素に挿入キー KeyDown イベントを送信する例を次に示します。
var key = Key.Insert; // Key to send var target = Keyboard.FocusedElement; // Target element var routedEvent = Keyboard.KeyDownEvent; // Event to send target.RaiseEvent( new KeyEventArgs( Keyboard.PrimaryDevice, PresentationSource.FromVisual(target), 0, key) { RoutedEvent=routedEvent } );
このソリューションにより、ネイティブ呼び出しや Windows 内部の操作が不要になり、信頼性が確保されます。さらに、特定の要素でキー押下を正確にシミュレートできます。
TextInput イベント
TextInput イベントの送信については、コードが異なります。わずかに:
var text = "Hello"; var target = Keyboard.FocusedElement; var routedEvent = TextCompositionManager.TextInputEvent; target.RaiseEvent( new TextCompositionEventArgs( InputManager.Current.PrimaryKeyboardDevice, new TextComposition(InputManager.Current, target, text)) { RoutedEvent = routedEvent } );
考慮事項:
以上がC# WPF アプリケーションでキープレス イベントをプログラムで生成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。