В практических целях, а также в качестве учебного упражнения я хочу создать приложение для уведомлений, которое будет напоминать мне о днях рождения друга. Я хотел бы, чтобы приложение работало в фоновом режиме, чтобы оно могло проверять текущую дату по настроенным пользователем напоминаниям. Если требуется напоминание, то пользователю отображается простое окно, которое позволит ему отложить или отклонить уведомление. Я хочу, чтобы приложение получало пользовательские уведомления (т.е. уведомления пользователя A не отображаются при входе пользователя B).
Вариант 1. Приложение запускается при запуске Windows:
Я подумал о том, чтобы сделать это простым, проверяя, когда показывать уведомления только при запуске приложения. Я бы тогда положил ярлык в папку автозагрузки Windows. Однако это, вероятно, не сработает, если компьютер будет переведен в спящий режим и будет возобновляться каждый день.
Вариант 2 - Приложение постоянно работает в фоновом режиме:
Затем я подумал о создании приложения, чтобы оно минимизировалось до иконки в системном трее и, таким образом, постоянно работало в фоновом режиме. Затем он будет периодически проверять, когда отображать уведомления.
Вариант 3 - Использование службы Windows с приложением:
Затем я подумал об использовании службы Windows для периодических проверок времени отображения уведомлений. Очевидно, что служба Windows не может отображать уведомления пользовательского интерфейса, поэтому ей нужно будет использовать какой-то другой механизм для уведомления (например, отправка электронной почты). Затем приложение можно использовать для настройки параметров, которые использует служба.
Есть ли другие варианты, которые я не рассмотрел, которые будут работать лучше. В настоящее время я склонен перейти к варианту 2 для моей первой реализации, но потом могу перейти к лучшему решению.
1011 * ТИА *