Eskandari-MohammadJavad Ответов: 3

Как создать всплывающие уведомления в Windows с#


Привет
как создать всплывающие уведомления в Windows с#

Что я уже пробовал:

как создать всплывающие уведомления в Windows с#

3 Ответов

Рейтинг:
1

RickZeeland

Это не может быть сделано непосредственно из службы Windows, как вы, вероятно, уже поняли.
Вот способ сделать это: c# - как я могу показать воздушный шар области уведомлений и значок из службы Windows? - переполнение стека[^]

Это тоже выглядит интересно: Создайте значок в системном трее и диалоговое окно для службы Windows[^]
[Edit] протестировал его, и он не работает в Windows 10.


Рейтинг:
0

0x01AA

Простой ответ: просто не делайте этого!
После W XP все изменилось в правильном направлении, и сервисы больше не могут быть интерактивными.

И что теперь?
Класс ServiceController (System.Сервисный процесс) | Майкрософт Документы[^]
Надеюсь, это поможет.


Рейтинг:
0

Dave Kreskowiak

Как уже говорили другие, вы не можете взаимодействовать с рабочим столом пользователя из приложения-службы.

Однако это все еще можно сделать. Правильным способом сделать это было бы два приложения. Первое - это ваше сервисное приложение. Это приведет к запуску сервера, который обрабатывает межпроцессную связь (IPC) по каналу, например именованному каналу.

Второе - это приложение, которое запускается из раздела запуска реестра при входе пользователя в систему. Это приложение показывает значок в трее уведомлений на рабочем столе пользователя. Он также будет подключаться к каналу IPC, созданному сервером сервисных приложений. После подключения он прослушивает сообщения, поступающие по каналу, и действует соответствующим образом, например, отображает уведомление.

Это предпочтительный метод обработки этого, потому что он легко справляется с ситуацией, когда Windows запущена, но ни один пользователь не вошел в систему, чтобы увидеть уведомление.


Pratik Gaikwad

Я знаю это через год, но не могли бы вы, пожалуйста, предоставить пошаговый процесс, если это возможно?

Dave Kreskowiak

Нет. У меня нет времени писать короткую книгу о том, как это сделать.

Это не может быть объяснено всего лишь парой сообщений на форуме.