ReadConsoleInputEx 函式
從主控台輸入緩衝區讀取資料,並以可設定的行為從緩衝區中移除資料。
注意 此函式沒有相關聯的匯入連結庫。 此函式可作為 Kernel32.dll 中名為 ReadConsoleInputExA 和 ReadConsoleInputExW 的資源。 您必須使用 LoadLibrary 和 GetProcAddress 函式,動態連結至Kernel32.dll。
語法
BOOL WINAPI ReadConsoleInputEx(
_In_ HANDLE hConsoleInput,
_Out_ PINPUT_RECORD lpBuffer,
_In_ DWORD nLength,
_Out_ LPDWORD lpNumberOfEventsRead,
_In_ USHORT wFlags
);
參數
hConsoleInput [in]
主控台輸入緩衝區的句柄。 句柄必須具有 GENERIC_READ 訪問許可權。 如需詳細資訊,請參閱主控台緩衝區安全性和存取權限。
lpBuffer [out]
接收輸入緩衝區數據之INPUT_RECORD結構的陣列指標。
nLength [in]
陣列元素中的 lpBuffer 參數所指向的數位大小。
lpNumberOfEventsRead [out]
接收讀取輸入記錄數目之變數的指標。
wFlags [in]
一組旗標 (ORed) 可指定主控台的讀取行為。
值 | 意義 |
---|---|
CONSOLE_READ_NOREMOVE 0x0001 |
將事件保留在輸入緩衝區中(如 中所示 PeekConsoleInput ) |
CONSOLE_READ_NOWAIT 0x0002 |
即使輸入緩衝區中沒有任何事件,仍會立即傳回 。 |
傳回值
如果函式成功,則傳回非零的值。
如果此函式失敗,則傳回值為零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError。
備註
此函式是 的 ReadConsoleInput
可設定版本。 如需其他作業詳細數據ReadConsoleInput
,請參閱備註。
使用旗標CONSOLE_READ_NOMOVE | CONSOLE_READ_NOWAIT
話相當於 ReadConsoleInputEx
呼叫 PeekConsoleInput
。
此函式不存在於 Windows 控制台標頭中。 若要從 C 或 C++ 應用程式存取它,請包含下列宣告,並動態連結kernel32.dll如上所述。
#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);
需求
最低支援的用戶端 | Windows 7 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
頁首 | 無,請參閱備註 |
程式庫 | 無,請參閱備註 |
DLL | Kernel32.dll |
Unicode 和 ANSI 名稱 | ReadConsoleInputExW (Unicode) 和 ReadConsoleInputExA (ANSI) |