我有一个登录应用程序,它有一个人们只有在有触摸屏时才能使用的滑动系统。他们可以通过刷他们的个人模式滑动代码来登录。
如果用户有触摸屏,是否可以签入C#或WPF?即使他当时没有使用触控功能?
答案 0 :(得分:19)
在C#代码中,通过在System.Windows.Input
中使用PresentationCore
命名空间来查明是否存在触摸屏(不检查是否是单个或多点触控设备)。
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;
}
答案 1 :(得分:1)
我认为托管代码中没有任何可用内容,但您可以在Win32_DesktopMonitor
上使用P / Invoke。有关详细信息,请参阅msdn。
我发现这篇博文可能会有所帮助,即使它位于Windows CE上:http://blog.nerdbank.net/2006/10/platform-detection-iii-how-to-detect.html
答案 2 :(得分:0)
Windows XP Tablet PC Edition中有IInkTablet2 COM接口或非WPF应用程序的托管包装Microsoft.Ink.Tablet类。但是大多数触摸屏驱动程序都是“鼠标”驱动程序,无法以这种方式检测到。