2012-08-08 17 views
7

मेरे पास एक पूर्णस्क्रीन डायरेक्टएक्स डेस्कटॉप ऐप है, और जब उपयोगकर्ता मेरे गेम में टेक्स्टबॉक्स टैप करता है तो ऑन-स्क्रीन कीबोर्ड प्रदर्शित करना चाहता है। क्या पूर्णस्क्रीन मोड में ऐसा करने का कोई तरीका है?डेस्कटॉप ऐप में विंडोज 8 ऑन-स्क्रीन कीबोर्ड कैसे लाएं

+0

है वहाँ कुंजीपटल छुपाने का कोई तरीका? – ali

उत्तर

17

में है। Windows 8 स्पर्श कीबोर्ड को क्रियान्वित करने

C:\Program Files\Common Files\Microsoft Shared\ink\TabTip.exe 

मैं बस लगा कि बाहर है, क्योंकि मुझे लगता है कि एक गोली पीसी संलग्न कुंजीपटल बिना पर चल रहा है एक पूर्ण स्क्रीन डेस्कटॉप एप्लिकेशन पर काम कर रहा हूँ से पॉप अप होगा।

सेवरिन।

+0

ऐसा करने का एक बेहतर तरीका ढूंढ रहा था, लेकिन यह वास्तव में एकमात्र उचित तरीका प्रतीत होता है जो वास्तव में काम करता है। – IDWMaster

+0

आह मैं विंडोज से कैसे प्यार करता हूँ। लेकिन कम से कम यह काम करता है! – chowey

+0

और आप इसे कैसे छिपाते हैं? – ali

1

यदि यह डेस्कटॉप ऐप है, तो आपको osk.exe के लिए आमंत्रित करने की आवश्यकता हो सकती है।

यदि यह मेट्रो एप्लिकेशन है, तो आप ऐप से एसआईपी का आह्वान नहीं कर सकते हैं। MSDN docs के अनुसार:

इसका मतलब यह है कि आवेदन पत्र प्रोग्राम के रूप में ध्यान केंद्रित करने के हेरफेर के जरिए संपर्क कुंजीपटल आह्वान नहीं कर सकते। अतीत में यहां बड़े अपराधियों उनमें से गया वेबपेजों-कई निष्पादित osk.exe पॉप अप होगा अधिक पुराने जमाने ऑन-स्क्रीन कीबोर्ड सेट डिफ़ॉल्ट रूप से ध्यान केंद्रित

3

सेवेरिन Stampler के रूप में लेकिन आदेश ग # से सही पथ का उपयोग मैं खोजने के लिए एक ही जवाब:

var path = Environment.GetFolderPath(Environment.SpecialFolder.CommonProgramFiles) + @"\Microsoft Shared\ink\TabTip.exe"; 

if (!File.Exists(path)) 
{ 
    // older windows versions 
    path = Environment.GetFolderPath(Environment.SpecialFolder.System) + @"\osk.exe"; 
} 
+0

जब आप 32 बिट एप्लिकेशन चला रहे हैं, तो TabTip.exe 64 बिट सिस्टम पर नहीं मिलेगा। GetFolderPath आपको "प्रोग्राम फ़ाइलें (x86)" फ़ोल्डर देगा, टैबटिप.एक्सई में "TabTip32.exe" कहा जाता है – Zuppa