Запуск программы из-под сервиса
От: Vjaka Латвия http://13.bofh.lv/
Дата: 24.10.01 08:41
Оценка:
Здравствуйте.
У меня появилась вопрос, информацию по которому я не получил в мсдн-е (может не так искал).

В общем я написал программку-сервис, которая следит за списком запущенных сервисов, некоторые поддерживает запущенными, некоторые насильно опускает. Кроме этого есть список программ (не сервисов), которые следует держать запущенными. Соответственно, если программа их не находит, я делаю :
CreateProcess(NULL, cmdline, NULL, NULL, FALSE, CREATE_DEFAULT_ERROR_MODE|NORMAL_PRIORITY_CLASS, NULL, path, &st, &info)
При этом процесс запускается (GetLastError()=0, возвращает TRUE). Командой ps и аналогичными я вижу что он запущен, но тем не менее все эти программы запускаются в бекграунд и ни одна из них не показывается на экране вне зависимости от установки "разрешить говорить с десктопом" на сервис. Убить эти программы без перезагрузки не получится. Запускать я пробовал и консольные и оконные — cmd.exe, icq, far.

Что-то я не так делаю. Каким-то образом следует активизировать потомка? Дать ему доступ к чему-то?

PS: Target os : WinNT/2k/XP
Re: Запуск программы из-под сервиса
От: Alex Fedotov США  
Дата: 24.10.01 14:55
Оценка:
Здравствуйте Vjaka, Вы писали:

V>Здравствуйте.

V>У меня появилась вопрос, информацию по которому я не получил в мсдн-е (может не так искал).

V>В общем я написал программку-сервис, которая следит за списком запущенных сервисов, некоторые поддерживает запущенными, некоторые насильно опускает. Кроме этого есть список программ (не сервисов), которые следует держать запущенными. Соответственно, если программа их не находит, я делаю :

V>CreateProcess(NULL, cmdline, NULL, NULL, FALSE, CREATE_DEFAULT_ERROR_MODE|NORMAL_PRIORITY_CLASS, NULL, path, &st, &info)
V>При этом процесс запускается (GetLastError()=0, возвращает TRUE). Командой ps и аналогичными я вижу что он запущен, но тем не менее все эти программы запускаются в бекграунд и ни одна из них не показывается на экране вне зависимости от установки "разрешить говорить с десктопом" на сервис. Убить эти программы без перезагрузки не получится. Запускать я пробовал и консольные и оконные — cmd.exe, icq, far.

V>Что-то я не так делаю. Каким-то образом следует активизировать потомка? Дать ему доступ к чему-то?


Почитай http://www.microsoft.com/MSJ/0200/logon/logon.asp

Кое-что должно проясниться. Если не прояснится — спрашивай.
-- Alex Fedotov
Re[2]: Запуск программы из-под сервиса
От: Vjaka Латвия http://13.bofh.lv/
Дата: 24.10.01 15:16
Оценка:
Здравствуйте Alex Fedotov, Вы писали:

V>>Что-то я не так делаю. Каким-то образом следует активизировать потомка? Дать ему доступ к чему-то?


AF>Почитай http://www.microsoft.com/MSJ/0200/logon/logon.asp


AF>Кое-что должно проясниться. Если не прояснится — спрашивай.


То есть из-под аккаунта локальной системы нельзя запускать аппликации. Если я понял верно, то сейчас попробую поиграться.
Спасибо.
Re[3]: Запуск программы из-под сервиса
От: IT Россия linq2db.com
Дата: 24.10.01 16:17
Оценка:
Здравствуйте Vjaka, Вы писали:

V>То есть из-под аккаунта локальной системы нельзя запускать аппликации. Если я понял верно, то сейчас попробую поиграться.


Запускать можно, только они и работать будут под системным аккаунтом, а тебе как я понимаю нужно под аккаунтом интеррактивного пользователя.
Если нам не помогут, то мы тоже никого не пощадим.
Re[4]: Запуск программы из-под сервиса
От: Alex Fedotov США  
Дата: 24.10.01 17:08
Оценка:
Здравствуйте IT, Вы писали:

IT>Здравствуйте Vjaka, Вы писали:


V>>То есть из-под аккаунта локальной системы нельзя запускать аппликации. Если я понял верно, то сейчас попробую поиграться.


IT>Запускать можно, только они и работать будут под системным аккаунтом, а тебе как я понимаю нужно под аккаунтом интеррактивного пользователя.


... и в ссылке, которую я привел, написано как это сделать.
-- Alex Fedotov
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.