Как создать всплывающие уведомления в Windows с#
Привет
как создать всплывающие уведомления в Windows с#
Что я уже пробовал:
как создать всплывающие уведомления в Windows с#
Это не может быть сделано непосредственно из службы Windows, как вы, вероятно, уже поняли.
Вот способ сделать это: c# - как я могу показать воздушный шар области уведомлений и значок из службы Windows? - переполнение стека[^]Это тоже выглядит интересно: Создайте значок в системном трее и диалоговое окно для службы Windows[^]
[Edit] протестировал его, и он не работает в Windows 10.
Простой ответ: просто не делайте этого!
После W XP все изменилось в правильном направлении, и сервисы больше не могут быть интерактивными.
И что теперь?
Класс ServiceController (System.Сервисный процесс) | Майкрософт Документы[^]
Надеюсь, это поможет.
Как уже говорили другие, вы не можете взаимодействовать с рабочим столом пользователя из приложения-службы.
Однако это все еще можно сделать. Правильным способом сделать это было бы два приложения. Первое - это ваше сервисное приложение. Это приведет к запуску сервера, который обрабатывает межпроцессную связь (IPC) по каналу, например именованному каналу.
Второе - это приложение, которое запускается из раздела запуска реестра при входе пользователя в систему. Это приложение показывает значок в трее уведомлений на рабочем столе пользователя. Он также будет подключаться к каналу IPC, созданному сервером сервисных приложений. После подключения он прослушивает сообщения, поступающие по каналу, и действует соответствующим образом, например, отображает уведомление.
Это предпочтительный метод обработки этого, потому что он легко справляется с ситуацией, когда Windows запущена, но ни один пользователь не вошел в систему, чтобы увидеть уведомление.
Я знаю это через год, но не могли бы вы, пожалуйста, предоставить пошаговый процесс, если это возможно?
Нет. У меня нет времени писать короткую книгу о том, как это сделать.
Это не может быть объяснено всего лишь парой сообщений на форуме.