C# Windows 8桌面多点触控API

C# Windows 8桌面多点触控API,c#,wpf,windows-8,multi-touch,C#,Wpf,Windows 8,Multi Touch,我正在为Windows8开发一个c#touch应用程序,桌面模式,我找不到最好的方法。我的问题是:我应该使用现有的Windows7touchAPI c#还是有一个新的多点触摸c#API可以用来开发Windows8桌面应用程序 我知道windows 8对win7 touch api有传统的支持,如果这仍然是最好的也是唯一的方法,只需要一些见解和反馈 有没有人以前有过这个问题的经验 编辑:我发现这篇文章:,基本上UIElement公开了支持触摸操作的方法。也许这就是路。有什么想法吗 多谢各位 Win

我正在为Windows8开发一个c#touch应用程序,桌面模式,我找不到最好的方法。我的问题是:我应该使用现有的Windows7touchAPI c#还是有一个新的多点触摸c#API可以用来开发Windows8桌面应用程序

我知道windows 8对win7 touch api有传统的支持,如果这仍然是最好的也是唯一的方法,只需要一些见解和反馈

有没有人以前有过这个问题的经验

编辑:我发现这篇文章:,基本上UIElement公开了支持触摸操作的方法。也许这就是路。有什么想法吗


多谢各位

Windows8API有一个基于WM_指针消息的新API,请参见


Windows 7 API有一些缺点,请参阅WM_TOUCHxxx消息不容易出现此问题:

WM_TOUCHxxx和WM_POINTERxxx消息都容易出现此问题:


如果您的c#桌面应用程序正在使用WPF,您唯一可行的选择就是实现您自己的TOUCHDEVICE来修复这些根本问题,因为微软似乎已经决定WPF touch不再重要。

这取决于您的应用程序中实际需要什么

如果您只想使用新的快速旋转和缩放对象的方法,那么您可能只需要

但是,如果您需要独立地或以自定义方式处理GUI上的多个手指,则只需处理常规事件和其他事件

但请注意,multi-touch仅在单个窗口内可用。换句话说:您可以在同一窗口上多点触摸两个对象,但无法多点触摸位于不同窗口上的两个对象。如果您想要多点触摸、多窗口功能,您需要:

  • 使用.NET4.7

谢谢MAF,但是我认为指针API要与C++代码一起使用,并且我找不到类似的C到API的API。那么WPF 4多点触控API就是要走的路。微软刚刚在Windows 8 Metro应用程序和C++低级别事件中引入了新的多点触控API。