我正在尝试创建一个UI,我可以在没有鼠标的情况下与普通的WPF控件进行交互。我想支持多个游标,因此使用任何常规输入模拟(例如SendInput
)都不起作用。我还尝试隔行SendInput
消息来模拟鼠标光标,但这也没有用(只有一个鼠标输入)。我也有一个约束,我不想使用Windows MultiPoint
。
我尝试通过鼠标事件向控件发送事件(在Button上测试)当我使用MouseEnterEvent
,MouseLeaveEvent
,MouseMove
,{{检测到我的光标位置在控件上方时1}}和MouseDownEvent
。但除了MouseUpEvent
之外,它们似乎都没有用。
以下是我发送MouseDownEvent
:
MouseEnterEvent
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
。
答案 0 :(得分:0)
我认为我想为我的multimose kinect应用程序做同样的事情,但是如果你有一个模拟鼠标驱动程序,你只需要弄清楚如何告诉应用程序该事件发生在该鼠标驱动程序而不是你的usb鼠标或ps / 2鼠标驱动程序。 例如, 发送mousedown和up事件以模拟鼠标单击鼠标#1,#2。此外,更新鼠标#1,#2的鼠标位置。 我之所以如此,我希望它能够在任何应用程序中运行,在后台作为服务运行类似程序到上述程序。
答案 1 :(得分:0)
更新dsf适用于模拟使用kinect处理多个鼠标项目的虚拟鼠标设备,因此请查看网站上的当前进度:http://kinectmultipoint.codeplex.com。 警告多个鼠标驱动程序不能在一夜之间建立。 另外,下载windows ddk来模拟鼠标设备。必须根据您的场景更改testgenerichid.wsf脚本,但这可能。