2012-12-07 9 views
8

विंडोज फोन 8 डिवाइस की टचस्क्रीन पर उपयोगकर्ता टैप करने के लिए सबसे अच्छा तरीका क्या होगा?विंडोज फोन 8 - टचस्क्रीन घटनाओं को अनुकरण करें

एक दृष्टिकोण मैं कल्पना कर सकता हूं कि Win32 API कार्यों को कॉल करने के लिए मूल कोड का उपयोग करना है जो माउस ईवेंट को नियंत्रित करता है। यह मान लेगा कि टचस्क्रीन घटनाएं माउस घटनाओं के समान ही कम होती हैं, और ये API कार्य उपलब्ध हैं। क्या किसी को पता है कि यह WP8 पर मामला है?

एक अन्य दृष्टिकोण विंडोज फोन के लिए एंड्रॉइड एडीबी की तरह कुछ होगा। एंड्रॉइड पर, कोई पीसी से डिवाइस को नियंत्रित करने के लिए एडीबी का उपयोग कर सकता है और टच स्क्रीन इवेंट्स को भी अनुकरण कर सकता है (उदा। मकररुनर के माध्यम से)। यदि विंडोज फोन 8 के लिए एडीबी जैसे टूल हैं तो मुझे कोई जानकारी नहीं मिली है।

इसके लिए समाधान ढूंढने का उद्देश्य स्वचालित परीक्षण प्रक्रिया में विंडोज फोन 8 डिवाइस का एकीकरण है।

+0

http://stackoverflow.com/questions/2855586/run-debug-mode-from-command-line इस पर जांचें और इस पर नंबर 11 पेज http://www.codeproject.com/Articles/359801/10plus-powerful-debugging-tricks-with- विज़ुअल- स्टूडी – MillyMonster

+0

क्या इन रणनीतियों को विंडोज फोन विकास के लिए लागू करें? मैंने उन्हें बाहर निकाला ... पहले लिंक के लिए, "डीबगर पसंद" नहीं आया। दूसरे लिंक के लिए, मुझे WP8 के लिए विजुअल स्टूडियो एक्सप्रेस 2012 में "व्यू-> अन्य विंडोज-> कमांड विंडो" नहीं मिल रहा है (शायद यह केवल पूर्ण विजुअल स्टूडियो में उपलब्ध है, लेकिन क्या यह विंडोज फोन विकास के लिए वैसे भी मदद करता है?) –

+0

मुझे लगता है कि विजुअल स्टूडियो के दोनों संस्करणों में ये विकल्प होंगे। माफ़ कीजिये। – MillyMonster

उत्तर

5

मुझे पता चला कि Windows Phone 8 के सिस्टम 32 फ़ोल्डर में कम से कम एक DLL फ़ाइल है (कम से कम सिम्युलेटर छवि I mounted)।

इस पुस्तकालय निम्नलिखित कार्य शामिल हैं:

  • ApiInjectInitialize
  • ApiInjectTouchEvent
  • ApiInjectButtonEvent
  • ApiInjectEnableExclusive
  • ApiInjectUninitialize

InputInjection.dll in Dependency Walker

कुछ शोध कर रहा, मुझे पता चला है कि वहाँ आधिकारिक तरीके Windows 8 विकास के लिए स्पर्श इनपुट अनुकरण करने के लिए कर रहे हैं:

हालांकि, कार्यों विंडोज के लिए इस्तेमाल किया 8 विकास विंडोज फोन 8 पर उपलब्ध नहीं हैं। लेकिन फ़ंक्शंस को IputInjection.dll में मिले लोगों के समान नाम दिया गया है:

  • InitializeTouchInjection ApiInjectInitialize को
  • ApiInjectTouchEvent के समान InjectTouchInput समान
  • (...)

मैं InputInjection.dll और अपने कार्यों के बारे में कोई दस्तावेज़ प्राप्त करने के सक्षम नहीं था। ये फ़ंक्शन एसडीके की शीर्षलेख फ़ाइलों में भी प्रकट नहीं होते हैं। हो सकता है कि माइक्रोसॉफ्ट विंडोज फोन विकास के दौरान आंतरिक रूप से अपने कार्यों के लिए इन कार्यों का उपयोग करता है।

सवाल यह है: क्या इस पुस्तकालय तक पहुंचना और इन कार्यों को किसी भी तरह से कॉल करना संभव है? यह आईओएस पर "निजी एपीआई" का उपयोग करने के समान होगा, मुझे लगता है। मैंने देशी सी ++ कोड का उपयोग कर विंडोज फोन 8 ऐप के साथ इसे हासिल करने के कई तरीकों की कोशिश की, लेकिन अब तक मुझे कोई भाग्य नहीं था (मूल कारण यह है कि ऐप्स विंडोज फोन पर सैंडबॉक्स किए जाते हैं)। क्या विंडोज फोन पर बाइनरी चलाने के लिए कोई तरीका है (शायद डीबग ब्रिज या कुछ के माध्यम से)?

0

आप उन सभी एपीआई को Win32 सेवा/कर्नेल ड्राइवर से एक्सेस कर सकते हैं। अपने स्रोत कोड में हेडर फ़ाइल और इंजेक्शन विधि की लाइब्रेरी शामिल करें, यह

+0

क्या आपने एक ऐप बनाया है जो इसे सफलतापूर्वक करता है? यदि हां, तो आपने सी # कोड का उपयोग किया था या यह मूल ऐप है? –

+0

मैंने मूल कोड के साथ किया है। यदि आप सी # के साथ WinPRT घटक का उपयोग करना चाहते हैं और सी # से मूल कोड – user2307098

+0

पर कॉल करना चाहते हैं तो आपने InputInjection.dll (कौन से तर्क) के कार्यों को कैसे कॉल किया? क्या आप एक उदाहरण कोड पोस्ट कर सकते हैं? –

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