zoukankan      html  css  js  c++  java
  • 调用API 清屏

    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);
            }
        }
    }
  • 相关阅读:
    20175126《Java程序设计》第七周学习总结
    20175126《Java程序设计》第六周学习总结
    软工实践个人总结
    第06组 Beta版本演示
    第06组 Beta冲刺(4/5)
    第06组 Beta冲刺(5/5)
    第06组 Beta冲刺(3/5)
    第06组 Beta冲刺(2/5)
    第6组 Beta冲刺(1/5)
    第06组 Alpha事后诸葛亮
  • 原文地址:https://www.cnblogs.com/mschen/p/5421389.html
Copyright © 2011-2022 走看看