¿Es posible que mi programa c#wpf sepa si el usuario tiene una pantalla táctil o no?
touch touchscreen (3)
Tengo una aplicación de inicio de sesión que tiene un sistema de deslizamiento que las personas solo pueden usar cuando tienen una pantalla táctil. Pueden iniciar sesión deslizando su código personal de barrido de patrón.
¿Es posible verificar C # o WPF si el usuario tiene una pantalla táctil? ¿Incluso cuando no está usando el toque en ese momento?
Hay una interfaz COM IInkTablet2 en Windows XP Tablet PC Edition o una envoltura administrada clase Microsoft.Ink.Tablet para aplicaciones que no son de WPF. Pero la mayoría de los controladores de pantalla táctil son controladores de "mouse" y no se pueden detectar de esta manera.
No creo que haya nada disponible en el código administrado, pero podría usar P / Invoke en Win32_DesktopMonitor
. Para obtener más información, vea msdn .
Encontré esta publicación de blog que podría ser útil aunque esté en Windows CE: http://blog.nerdbank.net/2006/10/platform-detection-iii-how-to-detect.html
Dentro del código C # para saber si existe una pantalla táctil (no comprueba si es un dispositivo único o multitáctil) usando el espacio de nombres System.Windows.Input
en 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;
}