Здравствуйте.
У меня появилась вопрос, информацию по которому я не получил в мсдн-е (может не так искал).
В общем я написал программку-сервис, которая следит за списком запущенных сервисов, некоторые поддерживает запущенными, некоторые насильно опускает. Кроме этого есть список программ (не сервисов), которые следует держать запущенными. Соответственно, если программа их не находит, я делаю :
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.
Что-то я не так делаю. Каким-то образом следует активизировать потомка? Дать ему доступ к чему-то?