2015-06-08 4 views

ответ

2

Вы не можете (легко) сделать это непосредственно из процесса обслуживания. Как descibed here, существует способ создания интерактивного сервиса, который способен отправлять/обрабатывать сообщения Windows и отображать окна.

Но: С Windows Vista все службы запускаются в отдельной пользовательской сессии с именем «session 0». Таким образом, все окна, отображаемые службами, отображаются в этом сеансе. Теоретически возможно (я даже сделал это однажды, просто для удовольствия), чтобы переключиться на эту сессию и просмотреть эти окна, но это вряд ли будет полезно в реальной жизни.

Моим советом было бы создать отдельное приложение gui (возможно, одно с красивым значком в трее), которое связывается с вашим сервисом, например. TCP/IP или базу данных. Это приложение может обрабатывать любое требуемое взаимодействие с пользователем и выполнять соответствующее взаимодействие с процессом обслуживания.

Смежные вопросы