zoukankan      html  css  js  c++  java
  • C# WinForm 控制台日志输出

    public class MyConsole : IDisposable
    {
    private const uint STD_INPUT_HANDLE = 0xfffffff6;
    private const uint STD_OUTPUT_HANDLE = 0xfffffff5;
    private const uint STD_ERROR_HANDLE = 0xfffffff4;
    private const uint ATTACH_PARENT_PROCESS = 0xffffffff;
    [DllImport("kernel32.dll")]
    public static extern bool AttachConsole(uint dwProcessId);
    [DllImport("kernel32.dll")]
    public static extern bool AllocConsole();
    [DllImport("kernel32.dll")]
    public static extern bool FreeConsole();
    [DllImport("kernel32.dll")]
    public static extern int GetStdHandle(uint nStdHandle);
    [DllImport("kernel32.dll")]
    public static extern bool WriteConsole(int hConsoleOutput,
    string lpBuffer,
    int nNumberOfCharsToWrite,
    ref int
    lpNumberOfCharsWritten,
    int lpReserved);
    [DllImport("kernel32.dll")]
    public static extern bool ReadConsole(int hConsoleInput,
    StringBuilder lpBuffer,
    int nNumberOfCharsToRead,
    ref int lpNumberOfCharsRead,
    int lpReserved);
    private int stdin;
    private int stdout;
    public MyConsole()
    {
    AllocConsole();
    stdin = GetStdHandle(STD_INPUT_HANDLE);
    stdout = GetStdHandle(STD_OUTPUT_HANDLE);
    }
    public void WriteLine(string s)
    {
    int len = 0;
    WriteConsole(stdout, s + "
    ", s.Length + 2, ref len, 0);
    }
    public string ReadLine()
    {
    int len = 0;
    StringBuilder sb = new StringBuilder();
    ReadConsole(stdin, sb, 256, ref len, 0);
    return sb.ToString(0, sb.Length - 2);
    }
    public void Dispose()
    {
    FreeConsole();
    }
    }
    View Code
  • 相关阅读:
    环境部署:Linux下查看JDK安装路径
    环境部署(一):Linux下安装JDK
    linux常见命令
    设计用例
    测试用例的优先级
    快速幂和快速乘
    docker-compose安装
    jmeter通过命令生成自动测试报告
    jmeter环境变量配置
    java将毫秒转化为当前时间
  • 原文地址:https://www.cnblogs.com/tianciliangen/p/7066022.html
Copyright © 2011-2022 走看看