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