PeekConsoleInput函数从指定的控制台输入缓冲区中读取数据,而不从缓冲区中删除它。
BOOL PeekConsoleInput(
HANDLE 【hConsoleInput】, | //控制台输入缓冲区的句柄 |
PINPUT_RECORD 【lpBuffer】, | //指向缓存的指针,用于窥视数据 |
DWORD 【nLength】, | //要读取的记录数 |
LPDWORD 【lpNumberOfEventsRead】 | //指向读取的记录数的指针 |
); |
参数
【hConsoleInput】
标识输入缓冲区。句柄必须具有GENERIC_READ权限。
【lpBuffer】
指向接收输入缓冲区数据的INPUT_RECORD缓冲区。
【nLength】
指定由【lpBuffer】参数指向的缓冲区的记录大小。
【lpNumberOfEventsRead】
指向接收读取的输入记录数的32位变量。
返回值
如果函数成功,返回值不为零。
如果函数失败,返回值为零。要获取扩展错误信息,请调用GetLastError.
备注
如果请求的记录数超过缓冲区中可用记录的数量,则可以读取可用的数量。如果没有数据可用,该函数立即返回。
Windows NT:此函数使用控制台当前代码页中的Unicode字符或8位字符。控制台的代码页最初默认为系统的OEM代码页。要更改控制台的代码页,请使用SetConsoleCP或SetConsoleOutputCP功能,或使用CHCPsk或mode con cp select=命令。
也可以看看
INPUT_RECORD, ReadConsoleInput, SetConsoleCP, SetConsoleOutputCP, WriteConsoleInput