मैं एक सांत्वना कार्यक्रम है कि इस तरह से चलाने के विभिन्न घटकों है कि है:विंडोज कंसोल आवेदन अटक (जरूरत कुंजी दबाएं)
void start() {
while(true){
DoSomething();
Thread.Sleep(1000*5);
}
}
मेरा मुख्य प्रवेश बिंदु [छद्म-ish कोड]
Thread.Start(Componenet1.Start);
Thread.Start(Componenet2.Start);
while(true){
Console.Writeline("running");
Thread.Sleep(1000*5);
}
तरह लग रहा है
कोई कंसोल नहीं है। कहीं भी पढ़ता है। मेरी समस्या कुछ समय है कि एप्लिकेशन बहुत अच्छा चल रहा है लेकिन फिर रुकें और यदि मैं खिड़की पर कोई भी कुंजी दबाता हूं तो यह फिर से काम करना शुरू कर देगा। यह काफी बार होता है लेकिन मेरे पास यह प्रोग्राम स्वचालित वातावरण में 100+ वीएम चलने पर 24/7 पर तैनात है।
कंप्यूटर पर भी मेरे पास कुछ एएचके स्क्रिप्ट और अन्य चीजें हैं जो माउस में हेरफेर करती हैं लेकिन यह सुनिश्चित नहीं करती कि इसके साथ कुछ करने का कोई अधिकार नहीं है।
यह भी ध्यान रखें कि कभी-कभी सीपीयू मशीनों पर 100% पर चल रहा है, इसलिए शायद धागा प्राथमिकता एक मुद्दा है?
समाधान: आपको त्वरित संपादन मोड को अक्षम करने की आवश्यकता है। यहाँ सी # कोड काम कर रहा है यह करने के लिए:
// http://msdn.microsoft.com/en-us/library/ms686033(VS.85).aspx
[DllImport("kernel32.dll")]
public static extern bool SetConsoleMode(IntPtr hConsoleHandle, uint dwMode);
private const uint ENABLE_EXTENDED_FLAGS = 0x0080;
static void Main(string[] args)
{
IntPtr handle = Process.GetCurrentProcess().MainWindowHandle;
SetConsoleMode(handle, ENABLE_EXTENDED_FLAGS);
'DoSomething();' पर टिप्पणी करने का प्रयास करें और देखें कि यह – Andrey
पर व्यवहार करता है या नहीं # सी # कोड में उत्तर काम नहीं कर रहा है। नीचे स्वीकृत उत्तर करता है। – liang
सी # कोड मेरे लिए काम नहीं करता है। एक कामकाजी समाधान यहां पाया जा सकता है: https://stackoverflow.com/a/36720802/1999917 –