2012-06-05 3 views
1

У меня есть служба Windows, из которой я должен запустить процесс. Однако для этого процесса необходимы права администратора. Внутри Process Explorer я вижу, что служба запускает этот процесс, но пользовательский интерфейс для этого процесса не появляется.Запуск задачи администратора из службы Windows

Что мне здесь не хватает? Как это можно исправить?

ответ

0

Услуги выполняются в отдельной сессии с отдельным рабочим столом. Подумайте об этом, как о службах, которые работают в другом сеансе удаленного рабочего стола. Все, что с графическим интерфейсом, который вы запускаете из службы, будет отображаться в этом скрытом сеансе, к которому невозможно получить доступ.

+0

Итак, могу ли я запустить другую консоль exe из службы windows, которая при запуске будет запускать настольное приложение/ – user1240679

+0

Нет, к сожалению, нет. Все, что происходит от служб, будет зажато внутри сеанса службы. В чем проблема, которую вы пытаетесь решить? Какую программу вы начинаете и почему вы начинаете ее с службы? –

+0

К сожалению, приложение, которое я должен запустить, является настольным приложением и требует от admin previliges, потому что я настраиваю локальный сервер внутри этого приложения. Эта служба была создана, чтобы продолжать проверять, работает ли это настольное приложение. Если нет, запустите приложение. – user1240679

0

Если вы работаете с Windows Vista или 7, сервисы не могут взаимодействовать с настольным компьютером, например Windows XP, и они не могут открывать окно, как обычные приложения Windows. Они по умолчанию запускаются как учетная запись Local System, которая является полностью привилегированной учетной записью.

+0

Итак, даже если я уполномочу администратор превалировать для моего окна serivce, он не откроет окно процесса? процесс уже запущен внутри обработчика процессов, так как он не показывает свои окна по умолчанию. – user1240679

+0

Он запустит процесс, но вы увидите окно в другой среде. Вы можете использовать другой процесс, который является приложением Windows, чтобы открыть процесс для вас. Он может быть уведомлен службой через трубку или сокет. Я думаю, именно поэтому все приложения, которые нуждаются в обновлениях приложений или другом приложении, имеют значок в области уведомлений, которая является частью запуска. –

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