我正在尝试通过 WM_TOUCH 事件挂钩应用程序并驱动鼠标。为了做到这一点,我已经挂钩 WH_GETMESSAGE 并且能够成功接收 WM_TOUCH 事件。收到触摸事件后,我调用 sendInput() 以产生所需的鼠标功能;但是,当我通过 sendInput() 进行鼠标调用时,我停止接收 WM_TOUCH 事件。
我认为这是由于我的 sendinput() 调用的放置;但是,在对 sendInput() 进行所有调用之后,我能够使用 Spy++ 确认来自鼠标的任何输入——也就是说,我在物理上移动鼠标,导致 WM_TOUCH 事件中断。
最后,我创建了一个 WPF 应用程序,其中包含对所有触摸事件的简单回调。我可以将手指放在表单上并接收事件;但是,当我移动物理鼠标时,WPF 程序会收到一个 TouchUp 事件,然后是 TouchLeave 事件,即使我的手指仍在触摸屏上移动。
我希望有人能够解释为什么会发生这种情况,以及我是否有可能产生我想要的功能。
谢谢您的帮助。