控制台应用程序
来源:互联网 发布:电子科学与技术 知乎 编辑:程序博客网 时间:2024/05/22 00:49
#include <iostream>
#include <conio.h>
#include <windows.h>
#include <string.h>
#include <winuser.h>
#include <wincon.h>
HANDLE hOut ;
HANDLE hIn ;
void DeleteLine(int row); // 删除一行
void MoveText(int x, int y, SMALL_RECT rc); // 移动文本块区域
void ClearScreen(void); // 清屏
void main()
{
hOut = GetStdHandle(STD_OUTPUT_HANDLE); // 获取标准输出设备句柄
WORD att = FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_INTENSITY |
BACKGROUND_BLUE ;
// 背景是蓝色,文本颜色是黄色
SetConsoleTextAttribute(hOut, att);
ClearScreen();
printf("\n\nThe soul selects her own society,\n");
printf("Then shuts the door;\n");
printf("On her devine majority;\n");
printf("Obtrude no more.\n\n");
CONSOLE_SCREEN_BUFFER_INFO bInfo;
GetConsoleScreenBufferInfo( hOut, &bInfo );
COORD endPos = {0, bInfo.dwSize.Y - 1};
SetConsoleCursorPosition(hOut, endPos); // 设置光标位置
SMALL_RECT rc = {0, 2, 40, 5};
_getch();
MoveText(10, 5, rc);
_getch();
DeleteLine(5);
CloseHandle(hOut); // 关闭标准输出设备句柄
}
void DeleteLine(int row)
{
SMALL_RECT rcScroll, rcClip;
COORD crDest = {0, row - 1};
CHAR_INFO chFill;
CONSOLE_SCREEN_BUFFER_INFO bInfo;
GetConsoleScreenBufferInfo( hOut, &bInfo );
rcScroll.Left = 0;
rcScroll.Top = row;
rcScroll.Right = bInfo.dwSize.X - 1;
rcScroll.Bottom = bInfo.dwSize.Y - 1;
rcClip = rcScroll;
chFill.Attributes = bInfo.wAttributes;
chFill.Char.AsciiChar = ' ';
ScrollConsoleScreenBuffer(hOut, &rcScroll, &rcClip, crDest, &chFill);
}
void MoveText(int x, int y, SMALL_RECT rc)
{
COORD crDest = {x, y};
CHAR_INFO chFill;
CONSOLE_SCREEN_BUFFER_INFO bInfo;
GetConsoleScreenBufferInfo( hOut, &bInfo );
chFill.Attributes = bInfo.wAttributes;
chFill.Char.AsciiChar = ' ';
ScrollConsoleScreenBuffer(hOut, &rc, NULL, crDest, &chFill);
}
void ClearScreen(void)
{
CONSOLE_SCREEN_BUFFER_INFO bInfo;
GetConsoleScreenBufferInfo( hOut, &bInfo );
COORD home = {0, 0};
WORD att = bInfo.wAttributes;
unsigned long size = bInfo.dwSize.X * bInfo.dwSize.Y;
FillConsoleOutputAttribute(hOut, att, size, home, NULL);
FillConsoleOutputCharacter(hOut, ' ', size, home, NULL);
}
#include <conio.h>
#include <windows.h>
#include <string.h>
#include <winuser.h>
#include <wincon.h>
HANDLE hOut ;
HANDLE hIn ;
void DeleteLine(int row); // 删除一行
void MoveText(int x, int y, SMALL_RECT rc); // 移动文本块区域
void ClearScreen(void); // 清屏
void main()
{
hOut = GetStdHandle(STD_OUTPUT_HANDLE); // 获取标准输出设备句柄
WORD att = FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_INTENSITY |
BACKGROUND_BLUE ;
// 背景是蓝色,文本颜色是黄色
SetConsoleTextAttribute(hOut, att);
ClearScreen();
printf("\n\nThe soul selects her own society,\n");
printf("Then shuts the door;\n");
printf("On her devine majority;\n");
printf("Obtrude no more.\n\n");
CONSOLE_SCREEN_BUFFER_INFO bInfo;
GetConsoleScreenBufferInfo( hOut, &bInfo );
COORD endPos = {0, bInfo.dwSize.Y - 1};
SetConsoleCursorPosition(hOut, endPos); // 设置光标位置
SMALL_RECT rc = {0, 2, 40, 5};
_getch();
MoveText(10, 5, rc);
_getch();
DeleteLine(5);
CloseHandle(hOut); // 关闭标准输出设备句柄
}
void DeleteLine(int row)
{
SMALL_RECT rcScroll, rcClip;
COORD crDest = {0, row - 1};
CHAR_INFO chFill;
CONSOLE_SCREEN_BUFFER_INFO bInfo;
GetConsoleScreenBufferInfo( hOut, &bInfo );
rcScroll.Left = 0;
rcScroll.Top = row;
rcScroll.Right = bInfo.dwSize.X - 1;
rcScroll.Bottom = bInfo.dwSize.Y - 1;
rcClip = rcScroll;
chFill.Attributes = bInfo.wAttributes;
chFill.Char.AsciiChar = ' ';
ScrollConsoleScreenBuffer(hOut, &rcScroll, &rcClip, crDest, &chFill);
}
void MoveText(int x, int y, SMALL_RECT rc)
{
COORD crDest = {x, y};
CHAR_INFO chFill;
CONSOLE_SCREEN_BUFFER_INFO bInfo;
GetConsoleScreenBufferInfo( hOut, &bInfo );
chFill.Attributes = bInfo.wAttributes;
chFill.Char.AsciiChar = ' ';
ScrollConsoleScreenBuffer(hOut, &rc, NULL, crDest, &chFill);
}
void ClearScreen(void)
{
CONSOLE_SCREEN_BUFFER_INFO bInfo;
GetConsoleScreenBufferInfo( hOut, &bInfo );
COORD home = {0, 0};
WORD att = bInfo.wAttributes;
unsigned long size = bInfo.dwSize.X * bInfo.dwSize.Y;
FillConsoleOutputAttribute(hOut, att, size, home, NULL);
FillConsoleOutputCharacter(hOut, ' ', size, home, NULL);
}
- 控制台应用程序
- 控制台应用程序
- 控制台应用程序
- CLR 控制台应用程序
- 应用程序下显示控制台
- 4.3 创建控制台应用程序
- win32汇编控制台应用程序
- 创建一个控制台应用程序
- c++控制台应用程序
- C# 控制台应用程序 计算器
- Chapter1 控制台应用程序
- 控制台应用程序暂停功能分析
- C# 控制台应用程序--随机数
- 4.3 创建控制台应用程序
- 屏蔽控制台应用程序窗口
- 屏蔽控制台应用程序窗口
- GUI应用程序添加控制台
- ArcEngine控制台应用程序
- Bitmap位图渲染与操作
- 简繁体转换函数,GBK2GB
- 如何终止一个无限循环线程和 程序退出时销毁线程
- 控制台程序
- 控制infopath表单关闭后跳转的页面
- 控制台应用程序
- 模板,泛型编程,STL
- 如何让控制台程序正常退出
- ASP.NET连接ACCES和SQLServer数据库
- C# WinForm中MenuStrip动态菜单使用总结
- NSString
- phpredis参考手册
- 如何通过程序屏蔽windows粘滞键之热键
- Jquery uploadify插件可选参数的详细介绍