![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]()
Доброго времени суток!
Собираюсь писать программу, которая будет запускать другие программы с разными параметрами и т.д. и т.п. Ну это просто. Вопрос в том как следить за запущенной программой? Не упускать её из вида и манипулировать её как угодно и получать извещения и том что программа закрылась или о том что она запустилась. В ощем в этом духе. Что-то вроде "как привязать её к себе?". У меня вариант, запускать поток TThread и передавать ему информацию. Поток исходя из этой информации запускает программу и ждёт её завершения. Может быть есть вариант по лучше? Подскажите кто... пжалуйста. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
смотря что подразумевается под контролем.
если следить за завершением(старт то вы уж точно знаете) то просто WaitForSingleObject на хендл процесса. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]()
В принципе у меня на потоке все так и реализованно. Вся проблема в том что не могу реализовать функции:
Завершение/запуск в указанное время и дату. т.к. после waitForSingleObject ничего не выполняется... Рассматриваю вариант запускать второй поток зависящий от первого и там делать отсчёты. Но разумно ли привязывать к процесчсу 100500 потоков? Может можно через dll? Если можно, то как её грузить в процесс и как управлять процессом через dll из внешней программы? |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
делаете этапное ожидание(например по секунде) и проверяете между ними на предмет условий выхода с цикла(процесс помер/время вышло)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]()
Благодарен=)
|
![]() |
![]() |