C# 控制台窗口的显示与隐藏
1. 定义一个Consolse帮助类,如下:
- /// <summary>
- /// 控制台帮助类
- /// </summary>
- public static class ConsoleHelper
- {
- /// <summary>
- /// 获取窗口句柄
- /// </summary>
- /// <param name="lpClassName"></param>
- /// <param name="lpWindowName"></param>
- /// <returns></returns>
- [DllImport("user32.dll", SetLastError = true)]
- private static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
- /// <summary>
- /// 设置窗体的显示与隐藏
- /// </summary>
- /// <param name="hWnd"></param>
- /// <param name="nCmdShow"></param>
- /// <returns></returns>
- [DllImport("user32.dll", SetLastError = true)]
- private static extern bool ShowWindow(IntPtr hWnd, uint nCmdShow);
- /// <summary>
- /// 隐藏控制台
- /// </summary>
- /// <param name="ConsoleTitle">控制台标题(可为空,为空则取默认值)</param>
- public static void hideConsole(string ConsoleTitle = "")
- {
- ConsoleTitle = String.IsNullOrEmpty(ConsoleTitle) ? Console.Title : ConsoleTitle;
- IntPtr hWnd = FindWindow("ConsoleWindowClass", ConsoleTitle);
- if (hWnd != IntPtr.Zero)
- {
- ShowWindow(hWnd, 0);
- }
- }
- /// <summary>
- /// 显示控制台
- /// </summary>
- /// <param name="ConsoleTitle">控制台标题(可为空,为空则去默认值)</param>
- public static void showConsole(string ConsoleTitle = "")
- {
- ConsoleTitle = String.IsNullOrEmpty(ConsoleTitle) ? Console.Title : ConsoleTitle;
- IntPtr hWnd = FindWindow("ConsoleWindowClass", ConsoleTitle);
- if (hWnd != IntPtr.Zero)
- {
- ShowWindow(hWnd, 1);
- }
- }
- }
2. 程序中调用,如下:
- ConsoleHelper.hideConsole();
3. 注意:如果程序是只能启动一个,则可以用上面的方法控制控制台的显示与隐藏;否则需要在初始化时对控制台的标题赋值,如下:
- Console.Title = Guid.NewGuid().ToString();
C# 控制台窗口的显示与隐藏的更多相关文章
- C#控制台窗口居中显示(转)
private struct RECT { public int left, top, right, bottom; } [DllImport("kernel32.dll", Se ...
- 问题:C#控制台 停留;结果:c#控制台如何延时显示
Thread.Sleep(毫秒数);//比如Thread.Sleep(2000)即为延时2秒需using System.Threading; 随笔5 - C#控制台窗口的显示与隐藏 1. 定义一个Co ...
- C# 显示、隐藏窗口对应的任务栏
WPF中全屏窗口,会自动隐藏任务栏. 那非全屏窗口如何隐藏任务栏?甚至有没有一种场景,隐藏任务后自定义一套系统任务栏来显示? 以下会分阶段讲述一些概念 1. 主屏任务栏 任务栏,其实也是一个窗口,主屏 ...
- dotnet core 通过修改文件头的方式隐藏控制台窗口
原文:dotnet core 通过修改文件头的方式隐藏控制台窗口 在带界面的 dotnet core 程序运行的时候就会出现一个控制台窗口,本文告诉大家使用最简单方法去隐藏控制台窗口. 最近在使用 A ...
- 2018-9-30-dotnet-core-通过修改文件头的方式隐藏控制台窗口
title author date CreateTime categories dotnet core 通过修改文件头的方式隐藏控制台窗口 lindexi 2018-09-30 18:36:43 +0 ...
- c# 控制台程序 隐藏控制台窗口
在某些项目中,需要采用控制台程序,但是又不需要通过dos窗口进行交互,同时打算隐藏掉难看的控制台窗口.实现的方法很多,有的是修改链接命令.我采用的方法略有些麻烦,首先是给窗口命名,之后找到该窗口指针, ...
- 怎样让窗口不显示在任务栏和ALT+TAB中(隐藏窗口再嵌套,几乎是万能的办法)
之前想弄个像QQ旋风那样的悬浮窗口,就研究了下怎么让窗口不显示在任务栏中,方法其实很简单就是将窗口的扩张属性设置成WS_EX_TOOLWINDOW,MSDN中对该属性有详细介绍,代码如下: ::Set ...
- C# 在winform或者wpf中显示控制台窗口
这儿需要使用两个系统函数: BOOL WINAPI FreeConsole(void); //// 关闭控制台窗口,参考:http://msdn.microsoft.com/en-us/library ...
- OpenGL学习笔记:Console工程下如何不显示控制台黑窗口只显示Windows窗口
刚学习OpenGL,绘制图形的时候,如果不进行设置,运行的时候会先出现黑窗口再出现Windows窗口. 其实要去除控制台窗口非常简单,只需要修改工程设置,把子系统改成Windows,程序的入口点改成m ...
随机推荐
- Reward
Reward Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Subm ...
- [并发编程]使用线程安全队列和条件变量的notify来安排分步骤任务
// 方法1:直接构建N个THread来run foreach (i, size) { thread trd(&Instance::doWork, &inst); lstTrd.pus ...
- js 打印网页指定内容
function doPrint() { setTimeout(function() { bdhtml=window.document.body.innerHTML; sprnstr="&l ...
- bzoj 2761 [JLOI2011]不重复数字(哈希表)
2761: [JLOI2011]不重复数字 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 3210 Solved: 1186[Submit][Sta ...
- UVA 10652 Board Wrapping(凸包)
题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=32286 [思路] 凸包 根据角度与中心点求出长方形所有点来,然后就 ...
- 28个Unix/Linux的命令行神器
下面是Kristóf Kovács收集的28个Unix/Linux下的28个命令行下的工具(原文链接),有一些是大家熟悉的,有一些是非常有用的,有一些是不为人知的.这些工具都非常不错,希望每个人都知道 ...
- C语言volatile关键字
volatile提醒编译器它后面所定义的变量随时都有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据.如果没有volatile关键字,则编译器可能优化读取和存储 ...
- Java intern()方法
intern()方法: public String intern() JDK源代码如下图: 返回字符串对象的规范化表示形式. 一个初始时为空的字符串池,它由类 String 私有地维护. 当调用 in ...
- MySQL数据库事务剖析
MySQL数据库事务剖析 事务就是一组原子性的SQL查询,是一个独立的执行单元.事务内的语句,要么全部执行成功,要么全部执行失败. 1.事务的标准特征 一个运行良好的事务处理系统,必须具备原子性.一致 ...
- hdu 1317 XYZZY【Bellheman_ford 判断正环小应用】
链接: http://acm.hdu.edu.cn/showproblem.php?pid=1317 http://acm.hust.edu.cn/vjudge/contest/view.action ...