C#使我的应用程序成为后台进程

时间:2016-07-22 06:59:36

标签: c# vb.net

我希望将我的C#应用​​程序变成后台进程,基本上我想在tast管理器的主选项卡中隐藏我的应用程序,它是我的主应用程序的更新程序应用程序,VPN

2 个答案:

答案 0 :(得分:0)

不要显示任何类型的GUI。进程自动是没有GUI的后台进程。

WinFormsWPF是GUI的类型。

创建一个只需使用它:

public class Program
{
    public static void Main(string[] args)
    {
        // Your code...
    }
}

使用visual studio:

  
      
  1. 创建Winforms项目。

  2.   
  3. 删除所有Form类,例如Form1

  4.   
  5. 删除项目设置中的启动Form

  6.   
  7. 转到Program.cs

  8.   
  9. Main开始,移除Application方法中的所有行。

  10.         

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

答案 1 :(得分:0)

如果这是一个你想要连续运行的背景过程,我建议建立一个Windows服务。

Topshelf project可以让你真的很轻松。 只需安装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
    }
}

此代码示例来自他们的quick start guide