PeekConsoleInput 函数
从指定的控制台输入缓冲区读取数据,而不将其从缓冲区中删除。
语法
BOOL WINAPI PeekConsoleInput(
_In_ HANDLE hConsoleInput,
_Out_ PINPUT_RECORD lpBuffer,
_In_ DWORD nLength,
_Out_ LPDWORD lpNumberOfEventsRead
);
参数
hConsoleInput [in]
控制台输入缓冲区的句柄。 该句柄必须具有 GENERIC_READ 访问权限。 有关详细信息,请参阅控制台缓冲区安全性和访问权限。
lpBuffer [out]
指针 – 指向接收输入缓冲区数据的 INPUT_RECORD 结构数组。
nLength [in]
lpBuffer 参数指向的数组大小(以数组元素表示)。
lpNumberOfEventsRead [out]
指针 – 指向接收所读取输入记录数量的变量。
返回值
如果该函数成功,则返回值为非零值。
如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。
备注
如果请求的记录数超过缓冲区中可用的记录数,则读取可用的记录数。 如果没有数据可用,则函数立即返回。
此函数使用控制台当前代码页中的 Unicode 字符或 8 位字符。 控制台的代码页最初默认为系统的 OEM 代码页。 若要更改控制台的代码页,请使用 SetConsoleCP 或 SetConsoleOutputCP 函数。 旧版使用者也可以使用 chcp 或 mode con cp select= 命令,但不建议将其用于新开发。
要求
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
Header | ConsoleApi.h (via WinCon.h, include Windows.h) |
库 | Kernel32.lib |
DLL | Kernel32.dll |
Unicode 和 ANSI 名称 | PeekConsoleInputW (Unicode) 和 PeekConsoleInputA (ANSI) |