Как правило, службы - это
консольные приложения, которые разработаны,
чтобы запускаться автоматически без
графического пользовательского интерфейса
(GUI). Однако, некоторые службы иногда могут
потребовать взаимодействия с
пользователем.
Если служба запускается в
контексте учетной записи LocalSystem и имеет
атрибут SERVICE_INTERACTIVE_PROCESS, она использует
блок диалога оконной станции.
Служба может показать на экране
пользовательский интерфейс и получить
пользовательский ввод данных, поэтому,
она известна как диалоговая служба. За
важной информацией о диалоговых службах
обратитесь к статье Соображения
по обеспечению безопасности диалоговых
служб в этой главе.
Если служба запускается в
контексте обеспечения безопасности
учетной записи LocalSystem и не включает в себя
атрибут SERVICE_INTERACTIVE_PROCESS, она использует
следующую оконную станцию и рабочий стол:
Service-0x0-3e7$\default (по умолчанию).
Эта оконная станция не является
диалоговой, таким образом служба не может
показать на экране пользовательский
интерфейс. Кроме того, процессы,
созданные службой тоже не могут показать
на экране пользовательский интерфейс.
Если служба запускается в
контексте обеспечения безопасности
учетной записи пользователя, название
оконной станции основано на
пользовательском идентификаторе
безопасности (SID): Service-0xZ1-Z2$, где Z1 - старшая
часть идентификатора безопасности (SID)
входа в систему, а Z2, - младшая часть
идентификатора безопасности (SID) входа в
систему. Поскольку идентификатор
безопасности (SID) уникален для сессии
входа в систему, две службы,
запускающиеся в том же самом контексте
обеспечения безопасности получают
уникальные оконные станции. Эти оконные
станции не являются диалоговыми.
Статьи, перечисленные ниже,
рассматривают особенности работы с
диалоговыми службами.