C# - 带 GUI 的后台应用程序

C# - Background application with GUI

我的问题是我想创建一个后台应用程序,但它的用户界面可以恢复并最小化到系统托盘,它以 windows 开头。我尝试搜索如何开始,但我只找到了关于 Windows 服务的线程,没有 UI 或创建表单并隐藏它。所以我的问题是我应该如何开始? Windows 表格?服务并以某种方式添加接口?

谢谢!

如果您希望您的应用程序在用户登录时启动,那么创建一个表单并将其隐藏是可行的方法。

如果您希望您的代码 运行 即使没有用户登录,那么您将需要 windows 服务。

如果您选择沿着这条路走下去,您很可能希望拥有一个能够以某种方式与您的服务交互的应用程序。

这是一种创建不绑定到表单的应用程序的方法。使用标准 WinForms 项目,但将 ApplicationContext 的自定义实现传递给 Application.Run():

static class Program
{
    /// <summary>
    /// The main entry point for the application.
    /// </summary>
    [STAThread]
    static void Main()
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Application.Run(new MyContext());
    }

}

public class MyContext : ApplicationContext
{

    public MyContext()
    {
        // this is the new "entry point" for your application

        // use Application.Exit() to shut down the application

        // you can still create and display a NotifyIcon control via code for display in the tray
        // (the icon for the NotifyIcon can be an embedded resource)
        // you can also display forms as usual when necessary
    }

}