2011-11-21 5 views
6

मुझे ऊब गया है, इसलिए मैंने एक प्रोग्राम बनाने की कोशिश की जो ctrl + shift + l दबाते समय अस्वीकृति स्माइली (ಠ_ಠ चेहरे) लिखता है। अब सब कुछ काम करता है, जो कि स्माइली में अंडरस्कोर को छोड़कर, जो बिल्कुल भी नहीं लिखा जाएगा।सी # में सेंडकी के साथ अंडरस्कोर भेजने में असमर्थ?

SendKeys.Send("ಠ_ಠ"); 

मैं कोशिश की है विभिन्न बातें, {} अंडरस्कोर के आसपास कोष्ठक को जैसे चाहें, और निश्चित रूप से मैं यह भी googled:

यह वही मैं पहली बार इस्तेमाल किया गया था।

क्या कोई तरीका है कि मैं अंडरस्कोर भेजने के लिए प्राप्त कर सकता हूं?

अग्रिम धन्यवाद।

+5

+1। अच्छा कारण। – MPelletier

+0

यह कुछ चरित्र एन्कोडिंग चीज़ होना चाहिए। 'ಠ' ASCII नहीं है। – MPelletier

+0

ಠ को ठीक से भेजा गया है, यह _ है जो किसी कारण से टूटा हुआ है: \ – JeremyG

उत्तर

1

विभिन्न एन्कोडिंग मिश्रण अजीब परिणाम बनाता है। यूनिकोड है, _ ASCII है। अलग-अलग लंबाई के पात्र दृश्य स्टूडियो को भ्रमित और उत्तेजित करते हैं।

प्रयास करें:

SendKeys.Send("\u0CA0_\u0CA0"); 

या:

SendKeys.Send("\u0CA0\u005F\u0CA0"); 
+3

इसका मतलब है कि आप "ಠ_ಠ" टाइप कर सकते हैं, जिसे "ಠ_ಠ" के रूप में नहीं समझा जाता है, क्योंकि विजुअल स्टूडियो देखता है: यूनिकोड, फिर अधिक यूनिकोड की अपेक्षा करता है और ऐसा कुछ नहीं मिलता है जो नहीं है। अंतिम परिणाम आपको आपके इनपुट की तरह * महसूस करता है *: ಠ_ಠ। – MPelletier

+2

गलत। कोई सभ्य एन्कोडिंग सिस्टम उस जुर्माना को संभालेगा। – SLaks

+0

@SLaks मैंने कभी नहीं कहा कि यूनिकोड सभ्य था। :) लेकिन गंभीरता से, यह वीसी द्वारा यूनिकोड की व्याख्या पर एक सीमा है। क्या आप सहमत हैं? – MPelletier

0

आप एक अंग्रेज़ी कीबोर्ड लेआउट कुंजी के रूप में अंडरस्कोर है कि उपयोग नहीं करते हैं तो आप सिर्फ ASCII वर्ण टाइप नहीं कर सकता लेकिन करने के लिए है इसे संशोधक और चरित्र कुंजी के संयोजन के रूप में लिखें। बोरियत से प्रोग्रामिंग के लिए

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