Здравствуйте.
У меня появилась вопрос, информацию по которому я не получил в мсдн-е (может не так искал).
В общем я написал программку-сервис, которая следит за списком запущенных сервисов, некоторые поддерживает запущенными, некоторые насильно опускает. Кроме этого есть список программ (не сервисов), которые следует держать запущенными. Соответственно, если программа их не находит, я делаю :
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.
Что-то я не так делаю. Каким-то образом следует активизировать потомка? Дать ему доступ к чему-то?
Здравствуйте 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>Что-то я не так делаю. Каким-то образом следует активизировать потомка? Дать ему доступ к чему-то?
Здравствуйте Alex Fedotov, Вы писали:
V>>Что-то я не так делаю. Каким-то образом следует активизировать потомка? Дать ему доступ к чему-то?
AF>Почитай http://www.microsoft.com/MSJ/0200/logon/logon.asp
AF>Кое-что должно проясниться. Если не прояснится — спрашивай.
То есть из-под аккаунта локальной системы нельзя запускать аппликации. Если я понял верно, то сейчас попробую поиграться.
Спасибо.
Здравствуйте Vjaka, Вы писали:
V>То есть из-под аккаунта локальной системы нельзя запускать аппликации. Если я понял верно, то сейчас попробую поиграться.
Запускать можно, только они и работать будут под системным аккаунтом, а тебе как я понимаю нужно под аккаунтом интеррактивного пользователя.
Если нам не помогут, то мы тоже никого не пощадим.
Здравствуйте IT, Вы писали:
IT>Здравствуйте Vjaka, Вы писали:
V>>То есть из-под аккаунта локальной системы нельзя запускать аппликации. Если я понял верно, то сейчас попробую поиграться.
IT>Запускать можно, только они и работать будут под системным аккаунтом, а тебе как я понимаю нужно под аккаунтом интеррактивного пользователя.
... и в ссылке, которую я привел, написано как это сделать.