Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I show a Notification Area Balloon and Icon from a Windows Service?

I have a Windows Service that is always running when the user starts their workstation. This Windows Service is critical and I would like to show a Balloon Notification in the Notification Area when certain things happen such as the Service Stops, Starts, Restarts etc.

For example:
enter image description here

Also, is there a way to show a Notification Area Icon for my Windows Service?

like image 718
Ryan R Avatar asked Jun 01 '11 16:06

Ryan R


Video Answer


1 Answers

The days of Windows services interacting directly with the desktop are over, so you have to find another way.

What I have done is create a normal WinForms application that includes a NotifyIcon. The behavior of this application mimics that of Task Manager, such that it can be hidden from the task bar and only visible in the system tray. If I right-click the system tray icon, I get a menu. If I double-click the icon, the application window is shown.

To facilitate the communication between the WinForms application and the Windows service, I use WCF. Specifically, I use Juval Lowy's Publish-Subscribe Framework, which works really well for this kind of scenario. See my answer here for more details.

Hope this helps.

like image 152
Matt Davis Avatar answered Sep 30 '22 21:09

Matt Davis