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. /// <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. 程序中调用,如下:

[csharp] view plaincopy

  1. ConsoleHelper.hideConsole();

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

[csharp] view plaincopy

    1. Console.Title = Guid.NewGuid().ToString();
时间: 2024-11-29 12:41:13

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

unity窗口的显示和隐藏==Button事件

public class Button_1 : MonoBehaviour { //按钮事件 /// <summary> /// 获取要显示.隐藏的窗口 /// </summary> public GameObject m_back; public void Show_Conceal () { // m_back:要实现显示.隐藏的 ※ 窗口 ※ //setActive:实现窗口显示.隐藏的 ※ 方法 ※ m_back.SetActive(!m_back.activeSelf);

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

private struct RECT { public int left, top, right, bottom; } [DllImport("kernel32.dll", SetLastError = true)] private static extern IntPtr GetConsoleWindow(); [DllImport("user32.dll", SetLastError = true)] private static extern bool Ge

在控制台程序中隐藏控制台窗口

大家都知道,当编写一个win32 console application时,当运行此类程序的时候默认情况下会有一个类似DOS窗口的console窗口,但是有的时候我们只想在程序中运行一段功能代码,不希望显示这个console窗口,让代码执行完毕之后程序自动退出. 下面就介绍一下,如何隐藏win32 console application的console窗口 因为此种方法是通过设置编译器的链接开关来实现,所以让我们来看一下编译器的链接开关选项(也就是linker选项). 首先我们来看一下linke

隐藏控制台窗口的方法

在我们做程序的过程中,往往都需要用到控制台的程序来做实验或者用作后台的一些小应用的时候我们通常能够用到控制台程序,而,很多时候我们不需要去展现他得窗口,如何去隐藏他得窗口呢?很简单…… 首先先看一段简单的程序,这段程序就是我们用来去隐藏窗口的方法了! #region 隐藏窗口 [DllImport("user32.dll", EntryPoint = "ShowWindow", SetLastError = true)] private static extern

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

这儿需要使用两个系统函数: BOOL WINAPI FreeConsole(void); //// 关闭控制台窗口,参考:http://msdn.microsoft.com/en-us/library/ms683150%28VS.85%29.aspx BOOL WINAPI AllocConsole(void); //// 打开控制台窗口,参考:http://msdn.microsoft.com/en-us/library/ms681944%28VS.85%29.aspx对应DLL:Kernel

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

刚学习OpenGL,绘制图形的时候,如果不进行设置,运行的时候会先出现黑窗口再出现Windows窗口. 其实要去除控制台窗口非常简单,只需要修改工程设置,把子系统改成Windows,程序的入口点改成mainCRTStartup. 下面我先把几中解决办法列举出来,再解释下我的理解. 方法一:在程序中加入一句#pragma comment(linker, “/subsystem:\”windows\” /entry:\”mainCRTStartup\””),建议加在include的后面. 方法二:修

VS显示控制台窗口

https://blog.csdn.net/u011394598/article/details/82861988 有的时候我们在完成编程后, 运行发现没有控制台窗口, 比如我们用Qt编写的界面软件, 又想看到我们在代码中添加的打印日志信息,这个时候加上控制台窗口就能实现 方法:项目–> 属性–>链接器–>系统–>子系统(选择控制台即可) 原文地址:https://www.cnblogs.com/focus-z/p/11107250.html

jQuery将物体居中,并且转换显示和隐藏

今天来给大家贴一段代码,代码的作用就是利用jQuery将物体居中,并且转换显示和隐藏: 首先建立一个div标签并且写好css样式,具体如下 然后我想要的效果是当我点击了button这个按钮,test可以居中显示,第二次点击一次test消失,第三次点击又居中显示,这样循环下去: 具体js代码如下: 稍微解释一下代码的意思: 1.$('#test').get(0).flag = true;是为了建立一个标识,告诉浏览器什么时候应该显示,什么时候应该隐藏 2.上面的top就是让浏览器窗口的高度减去自己

如何控制android系统中NavigationBar 的显示与隐藏

我们使用的大多数android手机上的Home键,返回键以及menu键都是实体触摸感应按键.如果你用Google的Nexus4或Nexus5话,你会发现它们并没有实体按键或触摸感应按键,取而代之的是在屏幕的下方加了一个小黑条,在这个黑条上有3个按钮控件,这种设置无疑使得手机的外观的设计更加简约.但我遇到身边用Nexus 4手机的人都吐槽这种设计,原因很简单:好端端的屏幕,被划出一块区域用来显示3个按钮(如下图所示):Back, Home, Recent.并且它一直用在那里占用着. 在androi