显示/隐藏C#控制台应用程序的控制台窗口

我在google上了解如何隐藏自己的控制台窗口的信息。令人惊讶的是,我能找到的唯一解决方案是涉及FindWindow()找到控制台窗口的标题解决方案。我深入挖掘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);

转载注明原文:显示/隐藏C#控制台应用程序的控制台窗口 - 代码日志