C#让我的申请成为后台流程

C#让我的申请成为后台流程,c#,vb.net,C#,Vb.net,我希望将我的C#应用程序变成一个后台进程,基本上我想在tast manager的主选项卡中隐藏我的应用程序,它是我的主应用程序的更新程序,VPN不显示任何类型的GUI。进程自动成为没有GUI的后台进程 WinForms和WPF是GUI的类型 要创建一个,请使用以下命令: public class Program { public static void Main(string[] args) { // Your code... } } 使用visual

我希望将我的C#应用程序变成一个后台进程,基本上我想在tast manager的主选项卡中隐藏我的应用程序,它是我的主应用程序的更新程序,VPN不显示任何类型的GUI。进程自动成为没有GUI的后台进程

WinForms
WPF
是GUI的类型

要创建一个,请使用以下命令:

public class Program
{
    public static void Main(string[] args)
    {
        // Your code...
    }
}
使用visual studio:

  • 创建Winforms项目

  • 删除任何
    Form
    类,如
    Form1

  • 删除项目设置中的启动
    表单

  • 转到
    Program.cs

  • 删除
    Main
    方法中的所有行,从
    Application
    开始

  • 然后将代码放在main方法中


    如果这是一个需要持续运行的回退过程,我建议您构建一个windows服务

    这样做对你来说真的很容易。 只需安装nuget软件包并按如下方式使用:

    public class TownCrier
    {
    
        readonly Timer _timer;
        public TownCrier()
        {
            _timer = new Timer(1000) {AutoReset = true};
            _timer.Elapsed += (sender, eventArgs) => Console.WriteLine("It is {0} and all is well", DateTime.Now);
        }
    
        public void Start() { _timer.Start(); }
        public void Stop() { _timer.Stop(); }
    }
    
    public class Program
    {
        public static void Main()
        {
            HostFactory.Run(x =>                                 //1
            {
                x.Service<TownCrier>(s =>                        //2
                {
                   s.ConstructUsing(name=> new TownCrier());     //3
                   s.WhenStarted(tc => tc.Start());              //4
                   s.WhenStopped(tc => tc.Stop());               //5
                });
                x.RunAsLocalSystem();                            //6
    
                x.SetDescription("Sample Topshelf Host");        //7
                x.SetDisplayName("Stuff");                       //8
                x.SetServiceName("Stuff");                       //9
            });                                                  //10
        }
    }
    
    public-class-TownCrier
    {
    只读定时器\u定时器;
    市民()
    {
    _定时器=新定时器(1000){AutoReset=true};
    _timer.appeased+=(sender,eventArgs)=>Console.WriteLine(“它是{0},一切正常”,DateTime.Now);
    }
    public void Start(){u timer.Start();}
    公共无效停止(){u timer.Stop();}
    }
    公共课程
    {
    公共静态void Main()
    {
    HostFactory.Run(x=>//1
    {
    x、 服务=>//2
    {
    s、 ConstructUsing(name=>newtowncrier());//3
    s、 开始时(tc=>tc.Start());//4
    s、 停止时(tc=>tc.Stop());//5
    });
    x、 RunAsLocalSystem();//6
    x、 SetDescription(“示例Topshelf主机”);//7
    x、 SetDisplayName(“Stuff”);//8
    x、 SetServiceName(“Stuff”);//9
    });                                                  //10
    }
    }
    

    此代码示例来自他们的

    您是否正在寻找?您已经尝试过什么?我尝试过禁用task manager和其他代码来对task manager隐藏流程,但到目前为止没有任何效果。是否要对task manager隐藏流程?是,我确实想对任务管理器隐藏我的进程。我如何在没有GUI的情况下实现它?只需将代码放在主方法中。并且不允许任何类型的GUI显示。我已经完成了您提供的所有步骤,但我不确定您在步骤3“将启动窗体设置为(未设置)”中所说的内容