Bezeichnung
ReadConsoleKey -- liest eine Konsolentaste (V10.0)
Übersicht
key = ReadConsoleKey()
Plattformen
Linux, macOS, Windows

Beschreibung
Dieser Befehl liest ein Zeichen aus dem aktuellen Konsolenfenster. Standardmäßig wartet er, bis der Benutzer eine Taste drückt. Wenn Sie möchten, dass der Befehl nicht auf eine Taste wartet, müssen Sie die Option Delay in SetConsoleOptions() auf False setzen. In diesem Fall gibt ReadConsoleKey() #CONSOLEKEY_NONE zurück, falls keine Taste gedrückt wurde.

Wenn ReadConsoleKey() so eingestellt ist, dass er wartet, bis eine Taste gedrückt wird, wird sein Verhalten auch von der Einstellung CBreak von SetConsoleOptions() beeinflusst. Wenn CBreak auf True gesetzt ist, was auch die Standardeinstellung ist, reicht ein Tastendruck aus, damit ReadConsoleKey() die Blockierung beendet. Wenn CBreak auf False gesetzt ist, wird der Befehl blockiert, bis ein Zeilenumbruch erfolgt.

Standardmäßig wird die Taste, die der Benutzer drückt, in der Konsole als Echo ausgegeben. Wenn Sie das nicht möchten, setzen Sie den Tag Echo in SetConsoleOptions() auf False.

Schließlich kann ReadConsoleKey() auch Funktionstasten wie F1, F2, Cursortasten, ESC usw. lesen. Wenn Sie möchten, dass ReadConsoleKey() Funktionstasten unterstützt, müssen Sie die Konsole in den Tastaturmodus versetzen, indem Sie den Tag Keypad in SetConsoleOptions() auf True setzen. Wenn Sie das getan haben, kann ReadConsoleKey() auch die folgenden Funktionstasten zurückgeben:

 
#CONSOLEKEY_ENTER
#CONSOLEKEY_UP
#CONSOLEKEY_DOWN
#CONSOLEKEY_RIGHT
#CONSOLEKEY_LEFT
#CONSOLEKEY_BACKSPACE
#CONSOLEKEY_DEL
#CONSOLEKEY_F1
#CONSOLEKEY_F2
#CONSOLEKEY_F3
#CONSOLEKEY_F4
#CONSOLEKEY_F5
#CONSOLEKEY_F6
#CONSOLEKEY_F7
#CONSOLEKEY_F8
#CONSOLEKEY_F9
#CONSOLEKEY_F10
#CONSOLEKEY_F11
#CONSOLEKEY_F12
#CONSOLEKEY_F13
#CONSOLEKEY_F14
#CONSOLEKEY_F15
#CONSOLEKEY_F16
#CONSOLEKEY_INSERT
#CONSOLEKEY_HOME
#CONSOLEKEY_END
#CONSOLEKEY_PRINT
#CONSOLEKEY_PAGEUP
#CONSOLEKEY_PAGEDOWN
#CONSOLEKEY_IC
#CONSOLEKEY_EIC

Wie Sie sehen, beeinflussen viele Optionen vom Befehl SetConsoleOptions() das Verhalten von ReadConsoleKey(). Siehe SetConsoleOptions für Details.

Sie müssen den erweiterten Konsolenmodus mit EnableAdvancedConsole() aktivieren, bevor Sie diesen Befehl verwenden können. Siehe EnableAdvancedConsole für Details.

Eingaben
keine

Rückgabewerte
key
Taste, die gedrückt wurde, oder #CONSOLEKEY_NONE, wenn keine Taste gedrückt wurde und sich die Konsole im NoDelay-Modus befindet

Navigation zeigen