Я записал программу в.NET C#, которая должна быть выполнена в фоновом режиме. Я подразумеваю, что это должно иметь любой пользовательский интерфейс. Ни GUI, ни CLI. Это не также a windows service
(потому что это должно работать только после того, как пользователь вошел в систему).
Это должно просто работать в фоне. пример таких программ AdobeUpdater.exe
, GoogleUpdater.exe
и т.д.
Используйте планировщик задач, чтобы запускать его по расписанию (которое может быть основано на времени входа пользователя в систему). Или добавьте его в реестр для запуска при запуске.
HKLM\Software\Microsoft\Windows\CurrentVersion\Run
Другой вариант - создать приложение Windows и установить эти два свойства:
this.WindowState = FormWindowState.Minimized;
this.ShowInTaskbar = false;
Вы можете создать консольное приложение, а затем изменить его свойства в настройках проекта на приложение Windows (а не консоль). Или вы можете создать приложение Windows Forms, которое фактически не создает никаких форм.
Можно переосмыслить использование службы Windows и ее мониторинг событий входа/выхода из системы с помощью класса System.Management.ManagementEventWatcher
. Приведен пример наблюдателя за событиями выхода из системы: http://social.msdn.microsoft.com/Forums/en-US/netfxbcl/thread/0c1bded8-0cce-4260-bd28-4b4ffce0d27d.