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

  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. /// <summary>
  15. /// 设置窗体的显示与隐藏
  16. /// </summary>
  17. /// <param name="hWnd"></param>
  18. /// <param name="nCmdShow"></param>
  19. /// <returns></returns>
  20. [DllImport("user32.dll", SetLastError = true)]
  21. private static extern bool ShowWindow(IntPtr hWnd, uint nCmdShow);
  22. /// <summary>
  23. /// 隐藏控制台
  24. /// </summary>
  25. /// <param name="ConsoleTitle">控制台标题(可为空,为空则取默认值)</param>
  26. public static void hideConsole(string ConsoleTitle = "")
  27. {
  28. ConsoleTitle = String.IsNullOrEmpty(ConsoleTitle) ? Console.Title : ConsoleTitle;
  29. IntPtr hWnd = FindWindow("ConsoleWindowClass", ConsoleTitle);
  30. if (hWnd != IntPtr.Zero)
  31. {
  32. ShowWindow(hWnd, 0);
  33. }
  34. }
  35. /// <summary>
  36. /// 显示控制台
  37. /// </summary>
  38. /// <param name="ConsoleTitle">控制台标题(可为空,为空则去默认值)</param>
  39. public static void showConsole(string ConsoleTitle = "")
  40. {
  41. ConsoleTitle = String.IsNullOrEmpty(ConsoleTitle) ? Console.Title : ConsoleTitle;
  42. IntPtr hWnd = FindWindow("ConsoleWindowClass", ConsoleTitle);
  43. if (hWnd != IntPtr.Zero)
  44. {
  45. ShowWindow(hWnd, 1);
  46. }
  47. }
  48. }

2. 程序中调用,如下:

  1. ConsoleHelper.hideConsole();

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

    1. Console.Title = Guid.NewGuid().ToString();

C# 控制台窗口的显示与隐藏的更多相关文章

  1. C#控制台窗口居中显示(转)

    private struct RECT { public int left, top, right, bottom; } [DllImport("kernel32.dll", Se ...

  2. 问题:C#控制台 停留;结果:c#控制台如何延时显示

    Thread.Sleep(毫秒数);//比如Thread.Sleep(2000)即为延时2秒需using System.Threading; 随笔5 - C#控制台窗口的显示与隐藏 1. 定义一个Co ...

  3. C# 显示、隐藏窗口对应的任务栏

    WPF中全屏窗口,会自动隐藏任务栏. 那非全屏窗口如何隐藏任务栏?甚至有没有一种场景,隐藏任务后自定义一套系统任务栏来显示? 以下会分阶段讲述一些概念 1. 主屏任务栏 任务栏,其实也是一个窗口,主屏 ...

  4. dotnet core 通过修改文件头的方式隐藏控制台窗口

    原文:dotnet core 通过修改文件头的方式隐藏控制台窗口 在带界面的 dotnet core 程序运行的时候就会出现一个控制台窗口,本文告诉大家使用最简单方法去隐藏控制台窗口. 最近在使用 A ...

  5. 2018-9-30-dotnet-core-通过修改文件头的方式隐藏控制台窗口

    title author date CreateTime categories dotnet core 通过修改文件头的方式隐藏控制台窗口 lindexi 2018-09-30 18:36:43 +0 ...

  6. c# 控制台程序 隐藏控制台窗口

    在某些项目中,需要采用控制台程序,但是又不需要通过dos窗口进行交互,同时打算隐藏掉难看的控制台窗口.实现的方法很多,有的是修改链接命令.我采用的方法略有些麻烦,首先是给窗口命名,之后找到该窗口指针, ...

  7. 怎样让窗口不显示在任务栏和ALT+TAB中(隐藏窗口再嵌套,几乎是万能的办法)

    之前想弄个像QQ旋风那样的悬浮窗口,就研究了下怎么让窗口不显示在任务栏中,方法其实很简单就是将窗口的扩张属性设置成WS_EX_TOOLWINDOW,MSDN中对该属性有详细介绍,代码如下: ::Set ...

  8. C# 在winform或者wpf中显示控制台窗口

    这儿需要使用两个系统函数: BOOL WINAPI FreeConsole(void); //// 关闭控制台窗口,参考:http://msdn.microsoft.com/en-us/library ...

  9. OpenGL学习笔记:Console工程下如何不显示控制台黑窗口只显示Windows窗口

    刚学习OpenGL,绘制图形的时候,如果不进行设置,运行的时候会先出现黑窗口再出现Windows窗口. 其实要去除控制台窗口非常简单,只需要修改工程设置,把子系统改成Windows,程序的入口点改成m ...

随机推荐

  1. 蓝桥杯--算法训练 区间k大数查询

                                                                                 算法训练 区间k大数查询   时间限制:1.0 ...

  2. http Error 503 server unavailable

    服务器的环境为: 系统:Windows server 2008 64位 数据库:Oracle 10g WEB应用服务:IIS 7.0+.Net Framework 4.0 无法打开服务元数据库路径“/ ...

  3. FileUpload上传文件无法获取文件名

    原因:将FileUpload控件放到了UpdatePannel控件中了 解决办法:将FileUpload控件位置移动到UpdatePannel控件外面

  4. Git起步--git安装与初次运行git前配置

    在你开始使用 Git 前,需要将它安装在你的计算机上. 即便已经安装,最好将它升级到最新的版本. 你可以通过软件包或者其它安装程序来安装,或者下载源码编译安装. 一.Git安装 1. 在linux上安 ...

  5. IAR右键无法跳转到定义 的解决方法

    用IAR编译程序,有时候编译通过了,但是右键无法GO TO Definition  解决方法有两个: 第一.Tools -> Option  -> Project 把Generate br ...

  6. ROS学习笔记(九)——ROSSERVICE

    NEW 1 $ roscore NEW 2 $ rosrun turtlesim turtlesim_node NEW 3 $ rosrun turtlesim turtle_teleop_key N ...

  7. WPF ArrangeOverride与MeasureOverride

    1.MeasureOverride  是FrameworkElement.MeasureOverride 方法 当重写在派生类中,单位是对于子元素所需要布局的大小并确定FrameworkElement ...

  8. LabSharp莱博夏普简介

    莱博夏普提供实验室信息化解决方案,为实验室提供LIMS系统建设方案咨询,并为中小型LIMS系统供应商提供系统解决方案咨询.

  9. PowerMock注解PowerMockIgnore的使用方法

    故事要从一个异常开始,某天我在开发一个加密.解密特性,算法使用的是3DES,样例代码如下. package org.jackie.study.powermock; import java.io.Uns ...

  10. android 77 fragment

    fragment是3.0之后才有的,之前平板是3.0专用,后来手机和平板都用3.0 Activity: package com.itheima.fragment; import android.os. ...