2009-11-20 15 views
15

में कोई भी कुंजी दबाई गई है, तो Console.Read() और Console.ReadKey() दोनों दबाए जाने की कुंजी की प्रतीक्षा कर रहे हैं। एक कुंजी दबाए जाने तक प्रतीक्षा करने के लिए प्रोग्राम को वास्तव में पूछे बिना कुछ भी दबाया गया था, तो मैं कैसे पता लगा सकता हूं?सी #: जांचें कि कंसोल

+4

नहीं; वह यह जानना चाहता है कि उसके कार्यक्रम के कंसोल में एक कुंजी दबाई गई थी, न कि बाकी सिस्टम में। – SLaks

+1

यह सही है। अब तक एक keylogger बनाने के लिए मेरे लिए आवश्यकता उत्पन्न नहीं हुई है। इसके बजाय यह सवाल एक डीबगिंग उपद्रव की सुविधा प्रदान करना था। यह उन चीजों में से एक था जो आप जानते हैं कि यदि आप अच्छी तरह से भाषा जानते हैं - लेकिन जो (मुझे व्यक्तिगत रूप से) दस्तावेज़ीकरण से खोजना मुश्किल लगता है। – KalEl

उत्तर

31

आप यह जानने के लिए Console.KeyAvailable पर मतदान कर सकते हैं कि आप कुछ भी पढ़ सकते हैं या नहीं।

+0

यह उपयोगी है! धन्यवाद! –

1

आप इवेंट हैंडलर का उपयोग करना चाहते हैं। विंडोज फॉर्म का उपयोग करने के लिए निम्नलिखित सहायक होना चाहिए। Control.Keypress Event (System.Windows.Forms)। सामान्य रूप से इवेंट हैंडलर के अच्छे अवलोकन के लिए, EventHandling in .NET using C# पर एक नज़र डालें।

कंसोल एप्लिकेशन के लिए, आपको Console.CancelKeyPress Event फ़ंक्शन में देखना चाहिए।

1

बस जहां इंतजार करना चाहते हैं निम्नलिखित जोड़ें:

while (!Console.KeyAvailable) {} 
संबंधित मुद्दे