如何在具有特定坐标的WPF/C#中引发鼠标事件

本文关键字:事件 鼠标 WPF 坐标 | 更新日期: 2023-09-27 17:58:55

我想引发一个鼠标事件(点击、鼠标向下或鼠标向上),方法是将用户的点击带到WPF窗口中的任何位置,并将其转换为已知的差异,例如在x,y处点击,在x+100,y+100处引发点击事件。

潜在的问题是,有一个显示器相对于覆盖的触摸屏进行物理移动。我不想每次移动都重新校准触摸屏,而是想将平移偏移添加到单击事件中。

我已经了解了mouse_event的Win32 API及其替代函数SendInput。我承认我迷路了,因为我对API不是很熟悉。

当然,这是一个需要解决的简单问题,但我在任何地方都找不到可以实现解决方案的示例代码。任何关于如何将其添加到我的代码背后的帮助、指针或坚实的例子都将不胜感激。

谢谢标记

如何在具有特定坐标的WPF/C#中引发鼠标事件

Win32 API无法与WPF一起工作,此链接可能有助于

 // Copied the snippet of code from the link above, just to help future readers
 MouseEventArgs e = new MouseEventArgs(Mouse.PrimaryDevice, 0);
 e.RoutedEvent = Mouse.MouseEnterEvent;
 youUIElement.RaiseEvent(e);
 // Or
 InputManager.Current.ProcessInput(e);