📅  最后修改于: 2023-12-03 14:58:41.997000             🧑  作者: Mango
在 C# 中,我们通常会用控制台程序来进行一些简单的操作,例如文件操作,打印输出等等。但是,有时候我们不想看到控制台窗口,这个时候该怎么做呢?
在 Visual Studio 中,右击项目文件,进入属性,找到 Output Type,并把它设置为 Windows Application 即可。
这种方式的好处是非常简单,不需要写代码就可以隐藏控制台窗口了。但是也有一些缺点,比如无法输出调试信息等等。
如果你想要更加灵活地控制控制台窗口的显示和隐藏,那么可以考虑在代码中进行设置。
[DllImport("kernel32.dll", SetLastError = true)]
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;
static void Main(string[] args)
{
var handle = GetConsoleWindow();
ShowWindow(handle, SW_HIDE); // 隐藏控制台窗口
// do something
ShowWindow(handle, SW_SHOW); // 显示控制台窗口
}
这段代码中我们使用了 Windows API 函数 GetConsoleWindow 和 ShowWindow 来分别获取控制台窗口的句柄和控制窗口显示状态。其中 nCmdShow 参数可以设置为 SW_HIDE 或者 SW_SHOW 来分别隐藏或显示窗口。
这种方式的好处是可以灵活地控制控制台窗口的显示和隐藏,同时也可以输出一些调试信息。但是需要注意的是,这种方式需要在每个需要隐藏控制台窗口的地方进行设置。
无论你是使用方法1还是方法2,都可以实现隐藏控制台窗口的效果,只是方式不同而已。你可以根据自己的需要选择最适合自己的方式。