2024年6月12日发(作者:)

VC怎样设置控制台窗口界面

一、概述

所谓控制台应用程序,就是指那些需要与传统DOS操作系统保持某

种程序的兼容,同时又不需要为用户提供完善界面的程序。简单地讲,就

是指在Windows环境下运行的DOS程序。一旦C++控制台应用程序在

Windows 9x/NT/2000操作系统中运行后,就会弹出一个窗口。例如下列

过程:

单击Visual C++标准工具栏上的“New Text File”按钮,打开一个新的

文档窗口。

选择File | Save菜单或按快捷键Ctrl+S或单击标准工具栏的Save

按钮,弹出“保存为”文件对话框。将文件名为“” (注意扩展名.cpp

不能省略)。

在文档窗口中输入下列代码:

#include

{

cout<<"Hello, Console!"<

}

单击小型编译工具栏中的“Build”按钮或按F7键,系统出现一个对话

框,询问是否将此项目的工作文件夹设定源文件所在的文件夹,单击[是]

按钮,系统开始编译。

单击小型编译工具栏中的“Execute Program”按钮或按Ctrl+F5键,

运行刚才的程序。

程序运行后,弹出下图的窗口。

这就是控制台窗口,与传统的DOS屏幕窗口相比最主要的区别有:

(1) 默认的控制台窗口有系统菜单和标题,它是一个内存缓冲区窗

口,缓冲区大小取决于Windows操作系统的分配;而DOS屏幕是一种

物理窗口,不具有Windows窗口特性,其大小取决于ROM BIOS分配的

内存空间。

(2) 控制台窗口的文本操作是调用低层的Win32 APIs,而DOS屏幕

的文本操作是通过调用BIOS的16(10h)中断而实现的。

(3) 默认的控制台窗口可以接收键盘和鼠标的输入信息,设备驱动由

Windows管理,而DOS屏幕窗口接收鼠标时需要调用33h中断,且鼠标

设备驱动程序由自己安装。

二、控制台文本窗口的一般控制步骤

在Visual C++ 6.0中,控制台窗口界面的一般编程控制步骤如

下:

调用GetStdHandle获取当前的标准输入(STDIN)和标准输出

(STDOUT)设备句柄。函数原型为:

HANDLE GetStdHandle( DWORD nStdHandle );

其中,nStdHandle可以是STD_INPUT_HANDLE(标准输入设

备句柄)、STD_OUTPUT_HANDLE(标准输出设备句柄)和