Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Odczytuje dane z buforu wejściowego konsoli i usuwa je z buforu przy użyciu konfigurowalnego zachowania.
Składnia
BOOL WINAPI ReadConsoleInputEx(
_In_ HANDLE hConsoleInput,
_Out_ PINPUT_RECORD lpBuffer,
_In_ DWORD nLength,
_Out_ LPDWORD lpNumberOfEventsRead,
_In_ USHORT wFlags
);
Parametry
hConsoleInput [in]
Dojście do buforu wejściowego konsoli. Dojście musi mieć uprawnienie dostępu GENERIC_READ. Aby uzyskać więcej informacji, zobacz Zabezpieczenia buforu konsoli i prawa dostępu.
lpBuffer [out]
Wskaźnik do tablicy struktur INPUT_RECORD , które odbierają dane buforu wejściowego.
nLength [in]
Rozmiar tablicy wskazywany przez parametr lpBuffer w elementach tablicy.
lpNumberOfEventsRead [out]
Wskaźnik do zmiennej, która odbiera liczbę odczytanych rekordów wejściowych.
wFlags [in]
Zestaw flag (połączonych za pomocą operacji OR) określających zachowanie odczytu konsoli.
| Wartość | Znaczenie |
|---|---|
CONSOLE_READ_NOREMOVE0x0001 |
Pozostaw zdarzenia w buforze wejściowym (jak w pliku PeekConsoleInput) |
CONSOLE_READ_NOWAIT0x0002 |
Zwracaj natychmiast, nawet jeśli w buforze wejściowym nie ma żadnych zdarzeń. |
Wartość zwracana
Jeśli funkcja powiedzie się, zwracana wartość jest niezerowa.
Jeśli funkcja zakończy się niepowodzeniem, zwracana wartość to zero. Aby uzyskać rozszerzone informacje o błędzie, wywołaj metodę GetLastError.
Uwagi
Ta funkcja jest konfigurowalną wersją programu ReadConsoleInput. W celu uzyskania dodatkowych szczegółów operacyjnych, zobacz uwagi ReadConsoleInput.
Wywołanie ReadConsoleInputEx z flagami CONSOLE_READ_NOREMOVE | CONSOLE_READ_NOWAIT jest równoważne wywołaniu PeekConsoleInput.
Ta funkcja nie istnieje w nagłówkach konsoli systemu Windows. Aby uzyskać dostęp do niego z aplikacji C lub C++, dołącz następujące deklaracje i dynamicznie połącz kernel32.dll, jak wspomniano powyżej.
#ifndef CONSOLE_READ_NOREMOVE
#define CONSOLE_READ_NOREMOVE 0x0001
#endif
#ifndef CONSOLE_READ_NOWAIT
#define CONSOLE_READ_NOWAIT 0x0002
#endif
BOOL
WINAPI
ReadConsoleInputExA(
_In_ HANDLE hConsoleInput,
_Out_writes_(nLength) PINPUT_RECORD lpBuffer,
_In_ DWORD nLength,
_Out_ LPDWORD lpNumberOfEventsRead,
_In_ USHORT wFlags);
BOOL
WINAPI
ReadConsoleInputExW(
_In_ HANDLE hConsoleInput,
_Out_writes_(nLength) PINPUT_RECORD lpBuffer,
_In_ DWORD nLength,
_Out_ LPDWORD lpNumberOfEventsRead,
_In_ USHORT wFlags);
Wymagania
| Minimalny obsługiwany klient | Windows 7 [tylko aplikacje klasyczne] |
| Minimalny obsługiwany serwer | Windows Server 2003 [tylko aplikacje klasyczne] |
| Nagłówek | brak, zobacz uwagi |
| Biblioteka | brak, zobacz uwagi |
| DLL | Kernel32.dll |
| Nazwy Unicode i ANSI | ReadConsoleInputExW (Unicode) i ReadConsoleInputExA (ANSI) |