C# 控制台窗口的显示与隐藏

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

[csharp]  view plain copy
 
  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 plain copy
 
  1. ConsoleHelper.hideConsole();  


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

[csharp]  view plain copy
 
    1. Console.Title = Guid.NewGuid().ToString();  

转载于:https://www.cnblogs.com/aiqingqing/p/4556465.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值