我四处搜索有关如何隐藏自己的控制台窗口的信息。 令人惊讶的是,我能找到的唯一解决方案是通过标题FindWindow()找到控制台窗口的hacky 解决方案。我对 Windows API 进行了更深入的研究,发现有一种更好更简单的方法,所以我想在这里发布它以供其他人查找。 __
FindWindow()
如何隐藏(和显示)与我自己的 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);