• 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();  
  • 相关阅读:
    冲刺第一天
    就用户界面和体验评价搜狗输入法
    学习进度条10
    典型用户及用户场景描述
    学习进度条09
    冲刺阶段第八天
    对石家庄铁道大学网站的UI分析
    学习进度条(第八周)
    冲刺阶段第七天
    冲刺阶段第六天
  • 原文地址:https://www.cnblogs.com/aiqingqing/p/4556465.html
Copyright © 2020-2023  润新知