Интерактивная служба пользователя в Windows 7

Мы разработали сетевое приложение C ++, которое должно работать как служба для Windows XP, 7, 32-разрядная система.

  • Приложение консольное.
  • Пользователь должен видеть журналы в консоли, когда приложение запущено и запущено.

Чтобы приложение работало как сервис, мы использовали XYNTService

Приложение работает как сервис и работает нормально под XP.

Но я не могу видеть консоль под Windows 7, так как служба работает под локальной учетной записью SERVICE, возможно, мы не можем увидеть графический интерфейс или получить к нему какой-либо доступ, потому что он работает в другом сеансе winlogon.

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

еще
Что если я сделаю это приложение на основе трея, есть ли способ перенаправить логи в окно?

0

Решение

На самом деле вы можете подписаться на события входа / выхода и затем использовать WTSEnumerateSessions с CreateProcessAsUser создавать GUI каждый раз, когда пользователь входит в систему, но это не лучший выбор.

Лучше всего сделать приложение в трее, которое автоматически запускается при входе пользователя в систему, вы можете использовать любой из механизмов IPC (именованные каналы, разделяемая память, сокеты) для отправки журналов из сервиса в приложение в трее.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]