Покажите окно сообщения от службы Windows

Можно ли отобразить окно сообщения (или какая-либо форма уведомления) от сервиса окон? Не может заставить это работать. Я использовал:

            global::System.Windows.Forms.MessageBox.Show("A fatal error occurred. " +
                ServiceName + " is now terminating.");

но это не работало и просто произвело ошибку.

20
задан Jonn 7 May 2010 в 06:22
поделиться

4 ответа

Нет, вы не можете показать окно сообщения от службы. Если вы хотите сообщить об ошибках, стандартный способ сделать это - журнал событий.

Для более "продвинутых" видов пользовательского интерфейса (не только для отчетов об ошибках) обычно используется обычное приложение windows, которое помещается в папку Startup пользователя (или ключ Run в реестре) и связывается со службой через какой-либо IPC механизм (.NET remoting, WCF, обычные сокеты, именованные трубы и т.д.).

22
ответ дан 30 November 2019 в 00:05
поделиться

Разрешить службе взаимодействовать с рабочим столом поможет вам сделать это из консоли Services.msc.

НО, это очень плохая идея. Особенно, если вы забудете удалить это сообщение позже. Служба зависнет, так как у вас будет окно сообщений, на которое никто не сможет щелкнуть.

0
ответ дан 30 November 2019 в 00:05
поделиться

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

-2
ответ дан 30 November 2019 в 00:05
поделиться

Из Википедия :

Хотя обычно службы не имеют пользовательского интерфейса, разработчики могут добавлять формы и другие компоненты пользовательского интерфейса. В этом случае необходимо установить флажок « Разрешить службе взаимодействовать с рабочим столом » на вкладке «Вход в систему» ​​в диалоговом окне «Свойства службы» (хотя при таком подходе следует соблюдать осторожность, поскольку это может вызвать угрозу безопасности, поскольку любой зарегистрированный в пользователь сможет взаимодействовать с сервисом).

Если этот параметр включен, вы сможете отображать окна сообщений службы.

0
ответ дан 30 November 2019 в 00:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: