Вопрос

Я пытаюсь создать службу Windows с C # в .NET, которая работает до того, как пользователь вошел в систему ... Затем, когда пользователь вошел в систему на символе, должен появиться в системном лотке (рядом с часами), чтобы показать пользователю, что служба работает. Двойной щелкнув этот символ Утилита конфигурации (написана в WPF) для пользователя, чтобы он мог настроить сервис, чтение данных из него и так далее ..

Есть возможность сделать это в одном приложении?

заранее спасибо за любую помощь !!!

Это было полезно?

Решение

Нет, вы не можете сделать это с одним приложением, поскольку службы работают с другим пользователем на другом сеансе.Вам необходимо создать два приложения и реализовать некоторую связь между обоими.

Я не рекомендовал бы использовать с именованными трубами напрямую (например, Kieren Johnstone), но чтобы посмотреть на WCF, который был разработан для интерпретирования связи и красиво рефессионных деталей реализации технологий связи от вас.Вот ссылка, которая может способно помочь вам с WCF: http://www.switchonthecode.com/tutorials/wcf-tutorial-basic-interProcess-Communication .

наилучшие пожелания,

Оливер Ханаппи

Другие советы

в пределах одного приложения, нет. Услуги работают в сеансе 0, см. Здесь:

http://www.microsoft.com/whdc/system/sysisnernals /session0changes.mspx

Ваша лучшая ставка - использовать названные трубы, см. Здесь:

http://www.switchonthecode.com/tutorials / dotnet-35-Adds-named-pips-support

.... или память отображается файл, см. Здесь:

http://msdn.microsoft.com/en-us/library /d97372.aspx

В рамках более-.Netty вы также можете использовать отступление. Вам нужно будет придумать какой-нибудь интерфейс или протокол, чтобы облегчить связь между службой и утилитой управления. Управление началом / остановкой процесса было бы проще, и вы можете использовать класс ServiceController ( msdn ref ).

Надеюсь, что помогает (и его не слишком обескураживает)!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top