显示/隐藏C#控制台应用程序的控制台窗口
我搜索了解如何隐藏自己的控制台窗口的信息。 令人惊讶的是,我能找到的唯一解决方案是涉及FindWindow()
hacky解决方案,通过它的标题找到控制台窗口。 我深入了解Windows API,发现有更好更简单的方法,所以我想将它发布到这里供其他人查找。
你如何隐藏(并显示)与我自己的C#控制台应用程序相关的控制台窗口?
就是这样:
using System.Runtime.InteropServices;
[DllImport("kernel32.dll")]
static extern IntPtr GetConsoleWindow();
[DllImport("user32.dll")]
static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);
const int SW_HIDE = 0;
const int SW_SHOW = 5;
var handle = GetConsoleWindow();
// Hide
ShowWindow(handle, SW_HIDE);
// Show
ShowWindow(handle, SW_SHOW);
只需转到应用程序的“属性”并将“输出”类型从“控制台应用程序”更改为“ Windows应用程序
如果你想隐藏控制台本身,为什么你需要一个控制台应用程序? =)
我建议将Project Output类型设置为Windows应用程序而不是控制台应用程序。 它不会显示控制台窗口,但执行所有操作,如控制台应用程序。
链接地址: http://www.djcxy.com/p/50571.html上一篇: Show/Hide the console window of a C# console application