请输入您要查询的百科知识:

 

词条 ReadConsole
释义

函数功能

该函数用于从控制台缓冲区中读取输入字符,同时并将这些数据移出该缓冲区

函数原型

BOOL WINAPI ReadConsole(

__in HANDLE hConsoleInput,

__out LPVOID lpBuffer,

__in DWORD nNumberOfCharsToRead,

__out LPDWORD lpNumberOfCharsRead,

__in_opt LPVOID pInputControl

);

参数

hConsoleInput

控制台屏幕缓冲区的句柄。该句柄必须具有的GENERIC_READ的访问权限。

lpBuffer

从控制台输入缓冲区读取接收的数据的缓冲区的指针。

如果缓冲区是从进程的64kb堆里分配.缓冲区的最大大小将取决于堆的使用。

nNumberOfCharsToRead

要读取的字符数。

lpNumberOfCharsRead

指向接收的实际读取的字符数的变量的指针。

pInputControl

指向 CONSOLE_ READCONSOLE_CONIROL 结构以指定读取操作结束的单个控制符.此参数可以为空.

返回值

如果函数成功,则返回值为非零值。

如果该函数失败,则返回值为零。要获取错误信息,请调用GetLastError .

备注

ReadConsole函数用于从控制台输入缓冲区中读取键盘输入。它的使用与ReadFile函数十分相似,只是它既能读取Unicode(宽字符),又能读取ANSI模式的字符。为了获得一个应用程序来维护单独的一套输入源,在上述的两种模式中,应该宁愿选择使用ReadConsole函数而不采取ReadFIle函数,尽管ReadConsole函数只能用作控制台输入缓冲区句柄。ReadFile函数则能用于其他的句柄(例如文件或者管线),如果使用一个被重新定向为其他的句柄而不是控制台的标准句柄,ReadConsol函数将执行失败。

所有能影响ReadFile函数执行的输入模式无一例外地都将同样影响ReadConsole函数和SetConsoleMode函数。

如果输入缓冲区中包含了除键盘输入事件意外的其他输入事件(例如鼠标事件或者窗口大小重置事件),则这些事件将会被丢弃。这些事件只能被ReadConsoleInput函数所读取。

在Windows NT中,该函数使用了从控制台当前代码页中得到的Unicode或者8位码,控制台当前代码页缺省初始化为系统的OEM代码页。如果想要改变控制台代码页,可以调用SetConsoleCP函数和SetConsoleOutputCP函数,或者也可以使用chcp(修改或显示控制台当前代码页)或con cp select=commands模式。

速查

Windows NT:3.1以及以上版本;Windows:95及以上版本;Windows CE:不支持

头文件:wincon.h;库文件:kernel32.dll

Unicode:在Windows NT 中通过Unicode或者ANSI版本实现

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/3/23 5:01:42