Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Запуск дочернего процесса из Windows-службы

279
12 ноября 2008 года
bave
456 / / 07.03.2004
Вопрос такой:
Пишу Windows-службу(сервис) на C# - мне нужно запускать из неё дочерний процесс
(обычное WinForms приложение) - т.е. у службы есть настройки, если вдруг настройки оказываются не корректными должно открываться окошко, где пользователь может ввести новые настройки.

Процесс запускать пытаюсь так Process.Start("ToolName.exe") - где вместо ToolName.exe - указываю реальный экзешник WinForms приложения которое и должно запуститься - тока оно не фига не запускается - и ошибок ни каких, но приложение не запускается - окошка не вижу с настройками...
14
12 ноября 2008 года
Phodopus
3.3K / / 19.06.2008
Пиши в приложении лог. Если оно действительно запускается - смотри под каким аккаунтом запущена служба. В диспетчере задач можно посмотреть процессы всех пользователей.
279
12 ноября 2008 года
bave
456 / / 07.03.2004
А процесс то оказывается запускается - в диспетчере задач процесс вижу... а вот
окно приложения уже не открывается, нащёл на другом форуме причину почему так
происходит, вот:
Цитата:

его окно не отображается, т.к. он является дочерним к сервису

из которого запускается, а любой сервис - IDLE => процесс автоматом становиться IDLE,

менял приоритеты и виды окна приложения, но так и не удалось разрешить ситуацию. подскажите как справиться с проблеммой.


Там предложили тока варианты как обойтись без использования дочернего процесса,
но мне эти варианты что-то не очень нравятся - не уж то никак дочерний процесс из под службы не запустить... :(

14
12 ноября 2008 года
Phodopus
3.3K / / 19.06.2008
Во-первых сервис не всегда имеет возможность взаимодействия с рабочим столом, а значит, не может создавать (или отображать?) окна.
Попробуй CreateProcessAsUser()
5
12 ноября 2008 года
hardcase
4.5K / / 09.08.2005
А вообщето сессий пользователей может быть много.
Вы в какой хотите показать?
Служба - это такая штука, что лучше К ней обращаться, а не ИЗ нее. Может быть имеет смысл сделать программу-монитор, которая станет сервис опрашивать ?
279
13 ноября 2008 года
bave
456 / / 07.03.2004
А я сейчас по другому сделал - мне надо было чтобы пользователь некторые настройки
сам вбивал. Вот сейчас запуск приложения-конфигуратора я запихнул в инсталятор службы(сервиса). Сейчас всё нормально отбражается - правдо возник вопрос, а как
из serviceInstaller1 (собсно объект инсталятора) - получить путь к паке где настройки хранить... но для этого вопроса лучше наверно другую тему создать.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог