控制台为字符界面的应用程序管理输入输出。
控制台函数能够以不同级别访问控制台。高级I/O函数通过标准输入读键盘输入并将其储存在控制台输入缓冲区内,也可以将控制台屏幕缓冲区中的文本写到标准输出和标准错误中。高级I/O函数能够重定向标准句柄和改变控制台的模式。低级I/O函数获得详细的键盘和鼠标事件以及控制台窗口的用户界面事件,也能在屏幕输出时获得更多控制。
控制台是为字符界面程序提供I/O的一种接口。它包括一个输入缓冲区和多个屏幕缓冲区。输入缓冲区内依次排列着携带事件详细信息的输入记录,如key-press或key-release等键盘事件、鼠标事件与活动屏幕缓冲区事件。屏幕缓冲区是包含字符与颜色数据的二维数组。任意数量的进程可以共享同一个控制台。
系统在启动命令行处理程序的时候创建控制台,在控制台进程中用户可以为新进程创建新控制台或继承命令行处理程序的控制台。
CreateProcess创建一个带有控制台的进程。
AllocConsole为没有控制台的控制台进程创建新控制台。
FreeConsole删除进程继承或由AllocConsole创建的控制台。
AttacthConsole把进程连接到控制台。一个进程只能连接到一个控制台,但一个控制台可以连接到多个进程。GetConsoleProcessList获取某个控制台所有进程的列表。
进程不能改变控制台窗口在屏幕上的位置。以下函数获取控制台相关信息。
Function
|
Description
|
|
Retrieves the window size, screen buffer size, and color attributes.
|
|
Changes the size of the console window.
|
|
Changes the size of the console screen buffer.
|
|
Sets the color attributes.
|
|
Sets the console window title.
|
|
Retrieves the console window title.
|
阅读(4575) | 评论(0) | 转发(1) |