ReadConsoleInput-Funktion
Liest Daten aus einem Konsoleneingabepuffer und entfernt sie aus dem Puffer.
Syntax
BOOL WINAPI ReadConsoleInput(
_In_ HANDLE hConsoleInput,
_Out_ PINPUT_RECORD lpBuffer,
_In_ DWORD nLength,
_Out_ LPDWORD lpNumberOfEventsRead
);
Parameter
hConsoleInput [in]
Ein Handle für den Konsolenbildschirm-Puffer. Das Handle muss über das Zugriffsrecht GENERIC_READ verfügen. Weitere Informationen finden Sie unter Sicherheit und Zugriffsrechte für Konsolenpuffer.
lpBuffer [out]
Ein Zeiger auf ein Array von INPUT_RECORD Strukturen, die die Eingabepufferdaten empfangen.
nLength [in]
Die Größe des Arrays, auf das der lpBuffer-Parameter in Arrayelementen verweist.
lpNumberOfEventsRead [out]
Ein Zeiger auf eine Variable, die die Anzahl der gelesenen Eingabedatensätze empfängt.
Rückgabewert
Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null.
Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.
Hinweise
Wenn die Anzahl der im nLength-Parameter angeforderten Datensätze die Anzahl der im Puffer verfügbaren Datensätze überschreitet, wird die verfügbare Zahl gelesen. Die Funktion wird erst zurückgegeben, wenn mindestens ein Eingabedatensatz gelesen wurde.
Ein Prozess kann ein Konsoleneingabepufferhandle in einer der Wartefunktionen angeben, um zu bestimmen, wann ungelesene Konsoleneingaben vorhanden sind. Wenn der Eingabepuffer nicht leer ist, wird der Zustand eines Konsoleneingabepufferhandles signalisiert.
Verwenden Sie die GetNumberOfConsoleInputEvents-Funktion , um die Anzahl der ungelesenen Eingabedatensätze im Eingabepuffer einer Konsole zu ermitteln. Verwenden Sie die PeekConsoleInput-Funktion , um Eingabedatensätze aus einem Konsoleneingabepuffer ohne Auswirkungen auf die Anzahl ungelesener Datensätze zu lesen. Um alle ungelesenen Datensätze im Eingabepuffer einer Konsole zu entfernen, verwenden Sie die FlushConsoleInputBuffer-Funktion.
Diese Funktion verwendet entweder Unicodezeichen oder 8-Bit-Zeichen aus der aktuellen Codepage der Konsole. Die Codepage der Konsole wird zunächst standardmäßig auf die OEM-Codepage des Systems festgelegt. Um die Codepage der Konsole zu ändern, verwenden Sie die Funktionen SetConsoleCP oder SetConsoleOutputCP. Ältere Consumer können auch die chcp oder mode con cp select=-Befehle verwenden, aber sie werden für neue Entwicklungen nicht empfohlen.
Beispiele
Ein Beispiel finden Sie unter Lesen von Eingabepufferereignissen.
Anforderungen
Unterstützte Mindestversion (Client) | Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Header | ConsoleApi.h (über WinCon.h, Windows.h einschließen) |
Bibliothek | Kernel32.lib |
DLL | Kernel32.dll |
Unicode- und ANSI-Namen | ReadConsoleInputW (Unicode) und ReadConsoleInputA (ANSI) |
Siehe auch
Eingabefunktionen für die Konsolen auf niedriger Ebene
ReadConsoleInputEx