Дни служб Windows, напрямую взаимодействующих с рабочим столом, прошли, поэтому вам нужно найти другой способ.
Я создал обычное приложение WinForms, включающее NotifyIcon.Поведение этого приложения имитирует поведение диспетчера задач, поэтому его можно скрыть из панели задач и увидеть только в системном трее.Если я щелкну правой кнопкой мыши значок в системном трее, я получу меню.Если дважды щелкнуть значок, появится окно приложения.
Чтобы упростить связь между приложением WinForms и службой Windows, я использую WCF.В частности, я использую Juval Lowy 's Publish-Subscribe Framework , который действительно хорошо подходит для такого сценария.См. Мой ответ здесь для получения более подробной информации.
Надеюсь, это поможет.