在C#控制台应用程序中隐藏控制台窗口

时间:2010-10-04 08:24:26

标签: .net console-application

问题是,我真的不希望控制台窗口出现......但解决方案应该正在运行。 我的观点是,我希望让应用程序在后台运行,不会出现任何窗口。

6 个答案:

答案 0 :(得分:171)

将输出类型从控制台应用程序更改为 Windows应用程序。这可以在 Project - >下完成。属性 - > Visual Studio中的应用程序

alt text

答案 1 :(得分:22)

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

答案 2 :(得分:9)

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

答案 3 :(得分:3)

也许您想尝试creating a Windows Service application。它将在后台运行,没有任何UI。

答案 4 :(得分:1)

无需vscode即可使用user32.dll实现这一点

    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;

注意我对 csharp 还是个新手,并不完美,所以请随时发表评论和更正!

答案 5 :(得分:-1)

将输出类型从 控制台应用程序 更改为 Windows应用程序

您可以在末尾使用Console.Readline/key来代替new ManualResetEvent(false).WaitOne(),以保持应用程序的运行。