Здравствуйте 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
Кое-что должно проясниться. Если не прояснится — спрашивай.