到目前为止,我只能通过以下方式在应用程序窗口中收听触摸事件:
this.TouchDown += new EventHandler<TouchEventArgs>(TouchableThing_TouchDown);
this.TouchMove += new EventHandler<TouchEventArgs>(TouchableThing_TouchMove);
private void TouchableThing_TouchDown(object sender, TouchEventArgs e){}
private void TouchableThing_TouchMove(object sender, TouchEventArgs e){}
但是我意识到我也需要捕获窗口外部的触摸事件。是否有一个已知的事件可供我听,使它不仅覆盖我自己的窗口,而且覆盖整个屏幕?
答案 0 :(得分:1)
要在窗口之外获取输入事件,您需要深入研究p /调用区域。具体来说,您需要设置一个hook。更具体地说,您需要添加一个WH_MOUSE挂钩,该挂钩可用于监视系统范围内的鼠标事件(触摸输入是鼠标输入的演变,因此它们都由Windows一起处理)。
这个问题提供了有价值的信息,并提供了一个使用钩子解释触摸输入的示例: how to distinguish touch vs mouse event from SetWindowsHookEx in c#