隐藏控制台应用程序的控制台(完全),但只是有时
本文关键字:控制台 应用程序 完全 隐藏 | 更新日期: 2023-09-27 18:05:21
我有一个c#控制台应用程序,它运行预构建步骤(获取NuGet包)。
当我调试这个时,我想传入一个参数并显示控制台。当我不调试它时,我不想看到它。我甚至不希望它在那里闪烁一秒钟
我已经找到了隐藏它的方法,在它已经显示。但我无法找到一种方法让它永远不会显示,除非我愿意将其从控制台应用更改为Windows应用(如果我能找到一种方法在需要时显示控制台,我会这样做)。
作为Windows应用程序构建,并在需要时显示控制台。要在需要时显示控制台,请使用P/Invoke调用AllocConsole
(pinvoke.net有您需要的声明)。
(控制台子系统进程总是得到一个控制台,如果有的话,是它们的父进程的,否则是一个新的。这是Windows在深层次上的工作方式
使用FreeConsole
WINAPI函数:
另一个解决方案是简单地切换到WinForms应用程序作为项目类型。然后不会分配控制台(并且您不需要显示表单)。