我的C# WPF程序可以知道用户是否有触摸屏吗?

13
我有一个登录应用程序,其中有一个滑动系统,只有拥有触摸屏的人才能使用。他们可以通过滑动自己的个人图案滑动码进行登录。
在C#或WPF中是否可以检查用户是否拥有触摸屏?即使此时他没有使用触摸功能?
3个回答

21

通过使用PresentationCore命名空间中的System.Windows.Input,在C#代码中查找触摸屏是否存在(不检查它是单点触摸设备还是多点触摸设备)。

    public bool HasTouchInput()
    {
        foreach (TabletDevice tabletDevice in Tablet.TabletDevices)
        {
            //Only detect if it is a touch Screen not how many touches (i.e. Single touch or Multi-touch)
            if(tabletDevice.Type == TabletDeviceType.Touch)
                return true;
        }

        return false;
    }

为什么这对我不起作用?请看:http://stackoverflow.com/questions/20923853/why-i-cant-detect-touch-screen - qakmak
此方法适用于我的Win8 Surface平板电脑和带有内置触摸屏的Win7笔记本电脑。 - Bill Tarbell
2
有15个人测试了答案并且它是正确的。为什么没有标记为正确答案? - Harry

1

0
在Windows XP平板电脑版中有IInkTablet2 COM接口或非WPF应用程序的托管包装Microsoft.Ink.Tablet类,但大多数触摸屏驱动程序都是“鼠标”驱动程序,无法以这种方式检测到。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接