|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include <stdafx.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <windows.h>
int main(int argc, _TCHAR* argv[])
{
HANDLE hStdIn, hStdOut; //初始化句柄成员hStdIn, hStdOut
hStdIn = GetStdHandle(STD_INPUT_HANDLE); //定义句柄成员hStdIn,为输入句柄
hStdOut = GetStdHandle(STD_OUTPUT_HANDLE); //定义句柄成员hStdhandle,为输出句柄
/*************************************************设置一个控制台**************************************************/
BOOL WINAPI WriteConsole(
_In_ HANDLE hConsoleOutput, //控制台输出句柄
_In_ const VOID *lpBuffer, //需输出的数据指针
_In_ DWORD nNumToWrite, //需要输出的字符串数量
_Out_ LPDWORD lpNumWriten, //实际输出的字符数量
_Reserved_ LPVOID lpReserved //系统保留
);
//定义一个wchar_t类型的字符串变量*szStr//
wchar_t *szStr = L"Hello 15PB!"; //*szStr指向一个字符串指向字符串“Hello 15PB!”
DWORD dwRet; //初始化一个DWORD类型的 参数,作为计算字符串的个数
WriteConsole(hStdOut, szStr, 12, &dwRet, NULL);//将上面的BOOL WINAPI WriteConsole 类型放入参数,然后调用
if (!WriteConsole(hStdOut, szStr, 12, &dwRet, NULL))
{
printf("设置控制台句柄失败T_T");
}
//************************************************设置控制台标题******************************************************/
BOOL WINAPI setConsoleTitle(
_In_ LPCTSTR lpConsoleTitle //指向控制台标题的指针
);
wchar_t szStr1[] = L"Consloe Title FISHC!";//设置控制台标题为Console Title
if (!SetConsoleTitle(szStr1)) //执行并判断,如果指针不能指向控制台标题,返回提示错误
{
printf("控制台标题设置失败");
}
//***************************************************设置控制台窗口大小*********************************************//
BOOL WINAPI SetConsoleWindowInfo
(
_In_ HANDLE hConsoleOutput, //控制台输出句柄
_In_ BOOL bAbsolute, //使用BOOL值判断坐标是否为绝对值
_In_ const SMALL_RECT *lpcWindow //新的窗口坐标信息
);
SMALL_RECT strWindow = {0,0,80-1,50-1}; //设置窗口大小参数
if (!SetConsoleWindowInfo(hStdOut, true, &strWindow))//执行并判断设置控制台大小是否成功,不成功就提示设置控制台大小失败
{
printf("设置控制台窗口大小失败!");
}
/******************************************************设置缓冲区大小*************************************************/
BOOL WINAPI SetConsoleScreenBufferSize
(
_In_ HANDLE hConsoleoutput, //控制台输出句柄
_In_ COORD dwSize //输出大小
);
COORD BufferSize = { 80, 40 }; //设置缓冲区大小参数
if (!SetConsoleScreenBufferSize(hStdOut, BufferSize))//判断缓冲区是否成功
{
printf("设置缓冲区失败T_T");
}
/**************************************设置在指定位置插入指定数量的字符数据******************************************/
BOOL WINAPI WriteConsoleOutputCharacter
(
_In_ HANDLE hConsoleOutput, //控制台输出句柄
_In_ LPCTSTR lpCharacter, //输出的字符串指针
_In_ DWORD nLength, //输出的字符串大小
_In_ COORD deWriteCoord, //输出坐标
_Out_ LPDWORD lpNum //实际输出字符串大小(指向输出最后一个字符的指针,用于计算输出的字符数量)
);
wchar_t szstr3[15] = L"Hello 15PB!"; //设置(定义)要输出的wchar_t类型的字符串,
COORD pos1 = { 20, 20 }; //定义一个坐标属性,并传出它的坐标参数{ 20, 20 }
if (!WriteConsoleOutputCharacter(hStdOut,szStr,15,pos1,&dwRet))//执行并判断插入的字符是否成功
{
printf("插入字符失败");
}
/**************************************************设置文件颜色*******************************************************/
BOOL WINAPI WriteConsoleOutputAttribute //设置控制台属性
(
_In_ HANDLE hConsoleOutput, //设置控制台输出
_In_ const WORD *lpAttribute, //设置一个指向字符属性的固定WORD类型字符指针
_In_ DWORD nLength, //设置一个用于计算字符数量的DWORD型数据
_In_ COORD dwWriteCoord, //设置颜色输出的坐标
_Out_ LPDWORD lpNumber //
);
COORD pos2 = { 20, 20 };//设置在指定坐标参数
WORD wClr[10]; //设置一个数组将这个输出的长度上颜色
wmemset((wchar_t*) wClr, FOREGROUND_RED, 10); //设置文本长度,颜色参数为:FOREGROUND_RED,
if (!WriteConsoleOutputAttribute(hStdOut, wClr, 8, pos2, &dwRet))//执行并判断是否设置颜色失败
{
printf("设置颜色失败T_T\n");
}
return 0;
}
运行得到的结果:
|
|