zoukankan      html  css  js  c++  java
  • C# 控制台窗口的显示与隐藏

    1. 定义一个Consolse帮助类,如下:

    [csharp] view plaincopy
     
    1. /// <summary>  
    2. /// 控制台帮助类  
    3. /// </summary>  
    4. public static class ConsoleHelper  
    5. {  
    6.     /// <summary>  
    7.     /// 获取窗口句柄  
    8.     /// </summary>  
    9.     /// <param name="lpClassName"></param>  
    10.     /// <param name="lpWindowName"></param>  
    11.     /// <returns></returns>  
    12.     [DllImport("user32.dll", SetLastError = true)]  
    13.     private static extern IntPtr FindWindow(string lpClassName, string lpWindowName);  
    14.   
    15.     /// <summary>  
    16.     /// 设置窗体的显示与隐藏  
    17.     /// </summary>  
    18.     /// <param name="hWnd"></param>  
    19.     /// <param name="nCmdShow"></param>  
    20.     /// <returns></returns>  
    21.     [DllImport("user32.dll", SetLastError = true)]  
    22.     private static extern bool ShowWindow(IntPtr hWnd, uint nCmdShow);  
    23.   
    24.     /// <summary>  
    25.     /// 隐藏控制台  
    26.     /// </summary>  
    27.     /// <param name="ConsoleTitle">控制台标题(可为空,为空则取默认值)</param>  
    28.     public static void hideConsole(string ConsoleTitle = "")  
    29.     {  
    30.         ConsoleTitle = String.IsNullOrEmpty(ConsoleTitle) ? Console.Title : ConsoleTitle;  
    31.         IntPtr hWnd = FindWindow("ConsoleWindowClass", ConsoleTitle);  
    32.         if (hWnd != IntPtr.Zero)  
    33.         {  
    34.             ShowWindow(hWnd, 0);  
    35.         }  
    36.     }  
    37.   
    38.     /// <summary>  
    39.     /// 显示控制台  
    40.     /// </summary>  
    41.     /// <param name="ConsoleTitle">控制台标题(可为空,为空则去默认值)</param>  
    42.     public static void showConsole(string ConsoleTitle = "")  
    43.     {  
    44.         ConsoleTitle = String.IsNullOrEmpty(ConsoleTitle) ? Console.Title : ConsoleTitle;  
    45.         IntPtr hWnd = FindWindow("ConsoleWindowClass", ConsoleTitle);  
    46.         if (hWnd != IntPtr.Zero)  
    47.         {  
    48.             ShowWindow(hWnd, 1);  
    49.         }  
    50.     }  
    51. }  


    2. 程序中调用,如下:

    [csharp] view plaincopy
     
    1. ConsoleHelper.hideConsole();  


    3. 注意:如果程序是只能启动一个,则可以用上面的方法控制控制台的显示与隐藏;否则需要在初始化时对控制台的标题赋值,如下:

    [csharp] view plaincopy
     
      1. Console.Title = Guid.NewGuid().ToString();  
  • 相关阅读:
    centos执行sudo 显示command not found的问题
    linux(centos)-command
    关于linux(centos)下浏览器(chrome)打开界面缓慢的一个可能解决办法
    verilog 基本语法
    Date 类 (java.util.Date)
    Objects 类
    发红包案例(普通红包和随机红包)
    接口作为方法的参数和返回值
    接口作为成员变量类型
    类作为成员变量类型
  • 原文地址:https://www.cnblogs.com/aiqingqing/p/4556465.html
Copyright © 2011-2022 走看看