Запуск проги из службы

stm5999302

Всем привет.
Нужно каждый час запускать прогу. Написал прогу + написал службу, которая будет каждый час запускать эту прогу. Но я столкнулся с проблемой:
Прога запускается, в диспетчере задач она есть, а окна нет. В чём может быть проблема?

Helga87

Включи на службе галочку "Разрешить взаимодействие с рабочим столом" / Allow Interact with Desktop
А вообще, такая служба уже есть — называется Sheduled Tasks

stm5999302

Спасибо тебе, хороший человек! Sheduler не канает - компов куча. Такой вопрос, а при инсталяции службы можно указать эту галочку в параметрах?

kokoc88

Такой вопрос, а при инсталяции службы можно указать эту галочку в параметрах?
Можно. Зависит от того, чем ты ставишь эту службу.

stm5999302

например, тупо батник напишу =)
я ваще не шарю в этих службах.
мне надо запустить её от определённого пользователя (логин\пароль указан в службе но окна всё равно нет

kokoc88

Например, для WiX в ServiceInstall задаётся атрибут Interactive="yes"
Для CreateService из Windows есть параметр SERVICE_INTERACTIVE_PROCESS

kokoc88

например, тупо батник напишу =)
Какой именно батник? Напиши.

evgen5555

В WinXP Professional есть утилита SC.EXE, из батника делается так: sc config MyService type= interact

stm5999302

<service_name> /install ну и тут по ходу надо указать параметры

Dasar

мне надо запустить её от определённого пользователя (логин\пароль указан в службе но окна всё равно нет
чтобы было окно надо запускать от local system с галкой взаимодействовать с десктопом

stm5999302

Всем громадное СПАСИБО!

freezer

чтобы было окно надо запускать от local system с галкой взаимодействовать с десктопом
почему обязательно local system? По-моему любой юзер подойдёт.

Dasar

вот из-за этого

или хочешь сказать, что это только gui винды не умеет, а руками можно эту галку в том числе и любому юзеру выставить.

freezer

хм... похоже правда только под LSA можно :(
интересно, зачем мелкософт такое ограничение ввёл?

aleks058

А если никто не залогинен или залогенено несколько человек, где это окно появится?

Helga87

В консольной сессии =)
В винде младше 2008-й есть такое понятие — одна из сессий объявлена консольной. За ней сидишь по-настоящему или по remote desktop с ключем /console. В Win2k8 - такого понятия вроде нет, но не проверял
Оставить комментарий
Имя или ник:
Комментарий: