GetStdHandle

【勇芳软件工作室】汉化HomePreviousNext

GetStdHandle函数返回标准输入,标准输出或标准错误装置的句柄。

手柄GetStdHandle(

DWORD 【nStdHandle】//输入,输出或错误设备
); 

参数

【nStdHandle】

指定要返回句柄的设备。此参数可以具有以下值之一:

含义
STD_INPUT_HANDLE标准输入手柄
STD_OUTPUT_HANDLE标准输出手柄
STD_ERROR_HANDLE标准错误句柄

返回值

如果函数成功,则返回值为指定设备的句柄。

如果函数失败,则返回值为INVALID_HANDLE_VALUE标志。要获取扩展错误信息,请调用GetLastError.

备注

GetStdHandle返回的句柄可以由需要从控制台读取或写入控制台的应用程序使用。当创建控制台时,标准输入句柄是控制台输入缓冲区的句柄,标准输出和标准错误句柄是控制台活动画面缓冲区的句柄。这些句柄可以由ReadFileWriteFile函数使用,也可以由访问控制台输入缓冲区或屏幕缓冲区的任何控制台功能使用(例如ReadConsoleInputWriteConsoleGetConsoleScreenBufferInfo功能)。

该函数返回的所有句柄都具有GENERIC_READ和GENERIC_WRITE访问权限,除非已使用SetStdHandle函数将标准句柄设置为具有较小访问权限的句柄。

过程的标准句柄可能会通过调用SetStdHandle重定向,在这种情况下GetStdHandle返回重定向的句柄。如果标准句柄已重定向,则可以在调用CreateFile函数时指定CONIN $值,以获取控制台输入缓冲区的句柄。类似地,您可以指定CONOUT $值来获取控制台的活动屏幕缓冲区的句柄。

也可以看看

CreateFile, GetConsoleScreenBufferInfo, ReadConsoleInput, ReadFile, SetStdHandle, WriteConsole, WriteFile