マウスを使用せずに通常のWPFコントロールと対話するUIを作成しようとしています。複数のカーソルをサポートしたいので、通常の入力シミュレーション(SendInput
など)を使用しても機能しません。私はまた、マウスカーソルをシミュレートするためにメッセージSendInput
をインターレースしようとしましたが、どちらも動作しませんでした(マウス入力が1つしかありません)。私はまた、Windows MultiPoint
を使用したくないという制約があります。 カーソル位置がコントロールの上にあることを検出すると、マウスイベントを介してコントロールにイベントを送信(Buttonでテスト)しようとしました:MouseEnterEvent
、MouseLeaveEvent
、MouseMove
、MouseDownEvent
およびMouseUpEvent
しかし、MouseDownEvent
を除いて、どれもうまくいかないようです。複数のマウスイベントをシミュレートする
System.Windows.Input.MouseEventArgs e =
new System.Windows.Input.MouseEventArgs(System.Windows.Input.Mouse.PrimaryDevice, DateTime.Now.Millisecond);
e.RoutedEvent = System.Windows.Input.Mouse.MouseEnterEvent;
elementUnderCursor.RaiseEvent(e);
どこelementUnderCursor
がUIElement
です: は、ここで私はMouseEnterEvent
を送信する方法の一例です。