2015-10-02 7 views
0

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

Спасибо!

+0

Приложение работает как служба не может иметь видимый пользовательский интерфейс. (Технически это _can_ - но Windows всегда будет скрывать его.) – Ulric

+0

Возможный дубликат [свернуть приложение к системному лотку] (http://stackoverflow.com/questions/7625421/minimize-app-to-system-tray) – Sinatr

ответ

0

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

} 
0

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

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

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