如何在WPF / C#中使用特定坐标引发鼠标事件?

时间:2011-06-13 01:46:03

标签: c# wpf mouseevent

我想通过在WPF窗口中的任意位置进行用户单击并按已知差异(例如,已知的差异)来提升鼠标事件(点击,鼠标或鼠标)。单击x,y,在x + 100,y + 100处单击事件。

根本问题在于显示监视器相对于覆盖的触摸屏物理移动。我不想在每次移动时重新校准触摸屏,而是想将翻译偏移量添加到点击事件中。

我查看了针对mouse_event及其取代函数SendInput的Win32 API。我承认我迷失了,因为我对API不是很熟悉。

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

由于 标记

1 个答案:

答案 0 :(得分:8)

Win32 API无法与WPF一起使用,link可能会有所帮助

 // 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);