C++ Konsolen Hotkey

CodeCrafterCpp

Erfahrenes Mitglied
Hallo,
Ich weiß nicht ob es schon so ein Thema gibt hab bei google und hier nichts gefunden nur zu WinApi. Ich frage mich ob es möglich in einer Konsolen Anwendung sobald zb ESC gedrückt wird das Programm beendet wir. Also ich möchte das sobald irgendwo im Spiel ESC gedrückt wird wird das Spiel beendet. Bei cin muss man noch enter Drücken und das geht eh nicht mit Esc und getch muss man ja eine Taste drücken und ich will halt das man keine Tastedrücken muss aber sobald man es tut wird geschaut ob es Esc ist.

Ps: tut mir leid wenn das Doppelpost ist da ich denke das es irgendwo ein Thema scho gibt aber ich das nicht gefunden hab.

mfG
 
Dazu währe eine Spielschleife ganz gut. Die könnte bei jedem durchgang prüfen ob Escape gedrückt wurde, und dann einfach return 0; . Aber sonst kenne ich keinen anderen Weg.
Müsstest halt eine Schleife in einem anderen Thread machen, die immer auf Tasten prüft. Oder wenn du ein Fenster hättest, einfach in dem WM_KEYDOWN Handle dei Taste filtern und wenn ESC->exit.
MfG
 
Ich würde aber GetAsyncKeyState Emfehlen ;)
Ja das ist WinAPI. Wieso schreibst du Plattformunabhängik? Du kannst WinAPI trotzdem benutzen auch ohne Fenster ;)
EDIT: Ups zu langsam ;)
 
Das Problem mit GetAsyncKeyState und GetKeyState ist, dass es dir auch zurückgibt, dass der Knopf gedrückt ist, wenn dein Fenster nicht den Inputfokus hat (zum Beispiel minimiert in der Taskleiste).

@CodeCrafterCpp: Nein, die WinMain-Funktion als Einstiegspunkt ist sozusagen der Indikator für Visual Studio keine Konsole zu verwenden.
 
Zurück