С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# .NET
Войти
Регистрация
Восстановить пароль
 
aquaMakc
473 / 386 / 68
Регистрация: 14.02.2014
Сообщений: 1,883
Завершенные тесты: 1
1

Нужен совет. Вывести сообщение из приложения - службы Windows

22.01.2016, 15:41. Просмотров 476. Ответов 5
Метки нет (Все метки)

Доброго времени суток.
Ситуация:
Есть программа, некоторый сервер, который крутится на машине в качестве службы. Программа имеет WinForm (WCF) и Web интерфейсы, но они нужны в основном для настройки программы и сбора статистической информации. В остальном скрипач оператор не нужен.
Но...у программы есть допустимый срок эксплуатации, определяемый либо выданной лицензией, либо дефолтным демонстрационным периодом. О том, что этот срок заканчивается или уже закончился надо как-то уведомлять пользователя. Встал вопрос - как это сделать?
Очевидное решение - выводить БОЛЬШОЕ и страшное сообщение в пользовательский интерфейс нивелируется за счёт того, что, единожды настроенное приложение особо не нуждается в повторном запуске интерфейсов.
Деревянное решение - из кода службы запустить MessageBox.Show даже с атрибутом ServiceNotification никчему не привело. Беглое гугленье тоже не дало подсказок.
От безысходности начинаю рассматривать радикальные варианты - слать на какие-то телефоны/e-мэйлы/твитеры, но очень не хотелось бы к ним прибегать.

Может есть какой-нибудь более простой способ достучаться до пользователя из службы?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.01.2016, 15:41
Ответы с готовыми решениями:

Нужен совет по развертыванию приложения и компонентов windows
Доброго дня. Прошу Вашего опыта, как грамотнее всего развернуть приложение c#...

Связь приложения и службы (передача сообщений службы в форму)
Здравствуйте, при написании службы столкнулся с такой проблемкой, служба...

Запуск приложения из службы
Здорово ребята. Почему не работает этот кусок кода в windows службе? Process...

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

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

5
insite2012
Модератор
Эксперт .NET
4865 / 3818 / 1096
Регистрация: 12.10.2013
Сообщений: 11,095
Записей в блоге: 2
22.01.2016, 18:29 2
Цитата Сообщение от aquaMakc Посмотреть сообщение
простой способ достучаться до пользователя из службы?
А процесс же можно запустить из службы? Если да, то почему бы не сделать простое WinForm приложение с одной кнопкой (аналог MеssageBox), и в нем вывести предупреждение. Кнопка будет закрывать приложение. Не думали о таком варианте?
0
aquaMakc
473 / 386 / 68
Регистрация: 14.02.2014
Сообщений: 1,883
Завершенные тесты: 1
22.01.2016, 18:32  [ТС] 3
Цитата Сообщение от insite2012 Посмотреть сообщение
А процесс же можно запустить из службы?
) да, как-то не приходило. Некий Informer. Надо попробовать.
0
Убежденный
Ушел с форума
Эксперт С++
16128 / 7275 / 1181
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
22.01.2016, 19:19 4
Цитата Сообщение от aquaMakc Посмотреть сообщение
Может есть какой-нибудь более простой способ достучаться до пользователя из службы?
Запустить процесс в сессии пользователя на его рабочем столе. Если коротко -
WTSQueryUserToken -> CreateProcessAsUser. Если длинно - там масса нюансов, так что я
бы не советовал из службы такое делать. Тем более, что пользователей может быть
несколько активных. А может не быть ни одного...

Цитата Сообщение от aquaMakc Посмотреть сообщение
Надо попробовать.
Можно не пробовать, т.к. окон этого процесса просто не будет видно.
0
_exp10der_
Warrior
490 / 417 / 177
Регистрация: 23.11.2014
Сообщений: 932
23.01.2016, 02:44 5
А как же Print Spooler с зачеканой allowed to interact with desktop?
0
Убежденный
Ушел с форума
Эксперт С++
16128 / 7275 / 1181
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
23.01.2016, 14:28 6
Allow to interact with desktop - это работает (да и то кое-как) лишь
на системах до Windows Vista.
0
23.01.2016, 14:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.01.2016, 14:28

Запуск приложения с правами админа из под службы
public static bool StartProcessAndBypassUAC(String applicationName, out...

Запуск приложения как службы. Вываливается ошибка 1053: служба не ответила на запрос своевременно
Имеется программа которая посылает через TCP сигнал на определенный ип и порт....

Нужен совет по созданию службы
Здравствуйте! Есть написанная и работающая программа. Требуется сделать из нее...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru