C# - фоновое приложение с графическим интерфейсом

Моя проблема в том, что я хочу создать фоновое приложение, но с пользовательским интерфейсом, который можно восстановить и свернуть в системный трей, и он начинается с окон. Я попытался найти, как начать, но я нашел только темы о Windows Service без UI или создания формы и ее скрытия. Итак, мой вопрос: как мне начать? Форма Windows? А Сервис и интерфейс добавить как-нибудь?

Спасибо!

2 ответа

Решение

Вот способ создать приложение, которое не привязано к форме. Используйте стандартный проект 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
    }

}

Если вы хотите, чтобы ваше приложение запускалось при входе пользователя в систему, необходимо создать форму и скрыть ее.

Если вы хотите, чтобы ваш код выполнялся, даже если ни один пользователь не вошел в систему, вам потребуется служба Windows.

Если вы решите пойти по этому пути, вам, скорее всего, понадобится приложение, которое каким-то образом взаимодействует с вашим сервисом.

Другие вопросы по тегам