2011-04-15 5 views
11

मेरे पास एक लॉगिन एप्लिकेशन है जिसमें एक स्वाइप सिस्टम है जो लोग केवल टचस्क्रीन होने पर ही उपयोग कर सकते हैं। वे अपने व्यक्तिगत पैटर्न स्वाइप कोड स्वाइप करके लॉगिन कर सकते हैं।क्या मेरे सी # wpf प्रोग्राम को यह जानना संभव है कि उपयोगकर्ता के पास टचस्क्रीन है या नहीं?

यदि उपयोगकर्ता में टचस्क्रीन है तो सी # या डब्ल्यूपीएफ में जांचना संभव है? यहां तक ​​कि जब वह उस समय उस पर स्पर्श नहीं कर रहा है?

उत्तर

1

मुझे नहीं लगता कि प्रबंधित कोड में कुछ भी उपलब्ध है लेकिन आप Win32_DesktopMonitor पर पी/Invoke का उपयोग कर सकते हैं। अधिक जानकारी के लिए msdn देखें।

मैं इस ब्लॉग पोस्ट है कि मदद भले ही यह Windows CE पर है की हो सकता है पाया: http://blog.nerdbank.net/2006/10/platform-detection-iii-how-to-detect.html

17

सी # कोड के भीतर पता लगाने के लिए अगर एक टच स्क्रीन मौजूद है (जाँच नहीं करता है अगर इसकी एक या बहु हालांकि डिवाइस को स्पर्श करें) System.Windows.InputPresentationCore में नामस्थान का उपयोग करके।

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; 
    } 
+0

यह मेरे लिए क्यों काम नहीं कर रहा है? कृपया देखें: http: //stackoverflow.com/questions/20923853/why-i-cant-detect-touch- स्क्रीन – qakmak

+0

यह मेरे लिए Win8 सतह टैबलेट और Win7 लैपटॉप (टचस्क्रीन के साथ निर्मित) पर काम करता है। –

+2

15 लोगों ने जवाब का परीक्षण किया और यह काम करता है। इसे सही उत्तर के रूप में क्यों चिह्नित नहीं किया जाता है? – Harry

0

Windows XP टेबलेट पीसी संस्करण में IInkTablet2 COM इंटरफेस या गैर WPF अनुप्रयोगों के लिए प्रबंधित आवरण Microsoft.Ink.Tablet वर्ग नहीं है। लेकिन अधिकांश टच स्क्रीन ड्राइवर "माउस" ड्राइवर हैं और इस तरह से नहीं पहचाने जा सकते हैं।

संबंधित मुद्दे

 संबंधित मुद्दे