调用API 清屏
2024-08-29 11:39:17
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Runtime.InteropServices; namespace calculate
{
struct StdHandleEnum
{
public const int STD_INPUT_HANDLE = -10;
public const int STD_OUTPUT_HANDLE = -11;
public const int STD_ERROR_HANDLE = -12;
}; static class ConsoleEx
{
internal struct COORD
{
public short X;
public short Y;
} [StructLayout(LayoutKind.Sequential, Pack = 1)]
internal struct CONSOLE_SCREEN_BUFFER_INFO
{
public COORD Size;
public COORD p1;
public short a1;
public short w1;
public short w2;
public short w3;
public short w4;
public COORD m1;
} [DllImport("kernel32.dll")]
public static extern int GetStdHandle(int nStdHandle); [DllImport("kernel32.dll")]
public static extern bool GetConsoleScreenBufferInfo(int hConsoleOutput, out CONSOLE_SCREEN_BUFFER_INFO lpConsoleScreenBufferInfo); [DllImport("kernel32.dll")]
public static extern bool SetConsoleCursorPosition(int hConsoleOutput, COORD dwCursorPosition); [DllImport("kernel32.dll", SetLastError = true, CharSet = CharSet.Auto)]
public static extern bool FillConsoleOutputCharacter(int hConsoleOutput, short cCharacter, int nLength, COORD WriteCoord, out int lpNumberOfCharsWritten); public static void Clear()
{
CONSOLE_SCREEN_BUFFER_INFO CSBI;
int hOut;
int CharOut;
COORD Home; hOut = GetStdHandle(StdHandleEnum.STD_OUTPUT_HANDLE); GetConsoleScreenBufferInfo(hOut, out CSBI); Home.X = 0;
Home.Y = 0; FillConsoleOutputCharacter(hOut, (short)' ', CSBI.Size.X * CSBI.Size.Y, Home, out CharOut); SetConsoleCursorPosition(hOut, Home);
}
}
}
最新文章
- Java中的进程与线程(总结篇)
- pandas修改列的顺序
- Object中的一些方法
- 解决eclipse中安装AIX2插件问题
- Native App、Web App 还是Hybrid App?
- left join, right join , inner join, join, union的意义
- 一个好看的Input样式
- 什么是WordPress?
- VMware workstation12 pro安装Ubuntu14.04LTS过程笔记
- wordpress博客搬家心得
- Android 设置让EditText不自动获取焦点
- ajax详细讲解和封装包括HTTP状态码
- C#参数详解
- python-布尔表达式
- Linux root目录下.gvfs问题处理
- BZOJ3438小M的作物——最小割
- SQLServer 表连接种类
- .NET持续集成与自动化部署之路第二篇——使用NuGet.Server搭建公司内部的Nuget(包)管理器
- TCP文件发送
- python+webdriver,选取Select下拉框中的值