在 c # 控制台应用中隐藏控制台窗口

问题是,我真的不想显示控制台窗口,但是解决方案应该是运行的。 我想说的是,我想让应用程序在后台运行,而不会出现任何窗口。

我该怎么做?

98366 次浏览

将输出类型从 控制台应用改为 Windows 应用程序。这可以在 Visual Studio 中的 工程项目-> 物业-> 申请下完成:

alt text

将应用程序类型更改为 Windows 应用程序。您的代码仍将运行,但它将没有控制台窗口,也没有标准窗口,除非您创建一个窗口。

也许你想尝试 创建 Windows 服务应用程序。它将在后台运行,没有任何用户界面。

最后你可以用 new ManualResetEvent(false).WaitOne()代替 Console.Readline/key,这对我来说很有用。

将输出类型从 控制台应用更改为 Windows Application,

And Instead of Console.Readline/key you can use new ManualResetEvent(false).WaitOne() at the end to keep the app running.

您可以使用 user32.dll 在不使用 vscode 的情况下实现这一点

    class start
{
[DllImport("user32.dll")]
static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);
static void Main()
{
IntPtr h = Process.GetCurrentProcess().MainWindowHandle;
ShowWindow(h, 0);
// Do the rest

这仍然闪烁的屏幕,但工程足够好

用途是

using System.Runtime.InteropServices;
using System.Diagnostics;

注意我仍然是新的夏普和不完美,所以随时评论和更正!