Wie kann ich eine Konsole offen halten, bis das CancelKeyPress-Ereignis ausgelöst wird?

8

Wie kann eine Konsolenanwendung am besten geöffnet bleiben, solange das CancelKeyPress-Ereignis nicht ausgelöst wurde?

Ich würde es vorziehen, Console.Read oder Console.ReadLine nicht zu verwenden, da ich keine Eingabe akzeptieren möchte. Ich möchte nur die zugrunde liegende Anwendung aktivieren, um auf die Ereignisdetails der Konsole zu drucken, wenn sie ausgelöst werden. Dann, sobald das CancelKeyPress-Ereignis ausgelöst wird, möchte ich die Anwendung ordnungsgemäß herunterfahren.

    
Eric Schoonover 14.10.2008, 23:47
quelle

5 Antworten

10

Ich gehe davon aus, dass "die Anwendung anmutig heruntergefahren" ist der Teil, mit dem Sie hier kämpfen. Andernfalls wird Ihre Anwendung automatisch auf ctrl-c beendet. Sie sollten den Titel ändern.

Hier ist eine kurze Demo von dem, was ich denke, dass Sie brauchen. Es könnte ein bisschen mehr verfeinert werden mit der Verwendung von Sperren und Monitore für die Benachrichtigung. Ich bin mir nicht sicher, was genau du brauchst, also werde ich das nur aufstellen ...

%Vor%     
TheSoftwareJedi 15.10.2008, 00:08
quelle
3

Der _s_stop boolean sollte im Beispielcode als flüchtig deklariert werden, oder ein zu ambitionierter Optimierer kann dazu führen, dass das Programm unendlich wiederholt wird.

    
David B 05.07.2009 02:28
quelle
1

Es ist bereits ein Handler an CancelKeyPress gebunden, der Ihre Anwendung beendet. Der einzige Grund dafür ist, dass Sie das Ereignis abfangen und verhindern möchten, dass die App geschlossen wird.

Fügen Sie in Ihrer Situation einfach Ihre App in eine Endlosschleife ein und lassen Sie sie vom integrierten Event-Handler löschen. Vielleicht möchten Sie etwas wie Wait (1) oder einen Hintergrundprozess verwenden, um zu verhindern, dass es tonnenweise CPU verbraucht, während Sie nichts tun.

    
FlySwat 14.10.2008 23:53
quelle
1

Dies könnte das sein wonach Sie suchen:

Ссылка

    
Mattio 14.10.2008 23:58
quelle
1

Führen Sie einfach Ihr Programm oder Ihre Codes ohne Debugging aus, drücken Sie auf Ihrer Tastatur STRG + f5 anstelle von F5 (Debugging).

    
victoromondy 25.04.2014 06:35
quelle

Tags und Links