-
Прошу прощения возможно за глупый вопрос.
Есть рабочее приложение-сервис, который устанавливается в систему и запускает заданные приложения. Сервис стартует под системной учетной записью с отключенной галкой разрешено взаимодействие с рабочим столом. Все приложения прекрасно стартуют и выполняются. Когда я авторизуюсь под любой учеткой в системе (локально) или в нулевую сессию удаленно - я вижу окна приложений которые стартовались сервисом.
НО!!! Все это прекрасно работает в версиях максимум XP,2003. Начиная (наверно с Vista -нет возможности проверить, в Windows 7 точно) и Windows Server 2008 окна не отображаются.
Прочитал http://msdn.microsoft.com/en-us/library/windows/desktop/ms687105(v=vs.85).aspx
Попробовал установить галку Разрешить взаимодействие с рабочим столом - не помогло. Запуск сервиса под учеткой с которой я логинюсь на компе - аналогично - не появляется.
Как можно создать и запустить сервис, чтобы были видны окна приложений, которые он запускает? -
брат Птибурдукова (19.08.13 12:00) [1]
> Как можно создать и запустить сервис, чтобы были видны окна
> приложений, которые он запускает?
Вероятно, никак. Начиная с висты от такой возможности постарались избавиться. Лучше стартовать программы независимо (любой автозапуск при логине), а их уже каким-нибудь образом заставить общаться с сервисом (я пользовался анонимными каналами, когда была такая задача). -
В данном случае мне надо чтобы программы всегда были включены. Т.е. если по какой-либо причине они завершились аварийно, сервис их перезапускал (ну и стартовал при загрузке).
-
Dennis I. Komarov © (19.08.13 22:28) [3]
> В данном случае мне надо чтобы программы всегда были включены.
Это условие выполнено. Отсутствие окон еще не означает что приложение не запущено ("включено") -
> Это условие выполнено. Отсутствие окон еще не означает что
> приложение не запущено ("включено")
Надо видеть что в этих окнах отображается. А то бывают случаи когда в окне ошибка (программа не работает), но в процессах успешно висит. -
han_malign (28.08.13 15:28) [5]
-
Styx (28.10.13 10:49) [7]Этот хак не решит проблему, имхо... пользовательская сессия должна существовать к тому моменту, когда процесс запускается, у Вас же её может в этот момент не быть вовсе.