?? my_conio.h
字號:
#ifndef _MY_CONIO_H_FILE_INCLUDED
#define _MY_CONIO_H_FILE_INCLUDED
#include<stdio.h>
#include<conio.h>
#include<windows.h>
#define PERR(bSuccess,api) {if(!(bSuccess)) printf("%s:Error %d from %s on line %d\n",__FILE__,GetLastError(),api,__LINE__);}
void MyCls(HANDLE);
void GotoConsoleXY(HANDLE,int,int);
void clrscr()
{
HANDLE hStdOut=GetStdHandle(STD_OUTPUT_HANDLE);
MyCls(hStdOut);
return;
}
void gotoxy(int x,int y)
{
HANDLE hStdOut=GetStdHandle(STD_OUTPUT_HANDLE);
GotoConsoleXY(hStdOut,x,y);
return;
}
void MyCls(HANDLE hConsole)
{
COORD coordScreen={0,0};//設置清屏后光標返回的屏幕左上角坐標
BOOL bSuccess;
DWORD cCharsWritten;
CONSOLE_SCREEN_BUFFER_INFO csbi;//保存緩沖區(qū)信息
DWORD dwConSize;//當前緩沖區(qū)可容納的字符數(shù)
bSuccess=GetConsoleScreenBufferInfo(hConsole,&csbi);//獲得緩沖區(qū)信息
PERR(bSuccess,"GetConsoleScreenBufferInfo");
dwConSize=csbi.dwSize.X * csbi.dwSize.Y;//緩沖區(qū)容納字符數(shù)目
//用空格填充緩沖區(qū)
bSuccess=FillConsoleOutputCharacter(hConsole,(TCHAR)' ',dwConSize,coordScreen,&cCharsWritten);
PERR(bSuccess,"FillConsoleOutputCharacter");
bSuccess=GetConsoleScreenBufferInfo(hConsole,&csbi);//獲得緩沖區(qū)信息
PERR(bSuccess,"ConsoleScreenBufferInfo");
//填充緩沖區(qū)屬性
bSuccess=FillConsoleOutputAttribute(hConsole,csbi.wAttributes,dwConSize,coordScreen,&cCharsWritten);
PERR(bSuccess,"FillConsoleOutputAttribute");
//光標返回屏幕左上角坐標
bSuccess=SetConsoleCursorPosition(hConsole,coordScreen);
PERR(bSuccess,"SetConsoleCursorPosition");
return;
}
void GotoConsoleXY(HANDLE hConsole,int x,int y)
{
COORD coordScreen={x,y};
SetConsoleCursorPosition(hConsole,coordScreen);
return;
}
#endif //_MY_CONIO_H_FILE_INCLUDED
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -