Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Delphi: WinAPI и системное программирование > CreateProcess, слежение за программой в потоке |
Автор: ЧеловекБорща 6.10.2010, 13:17 |
Доброго времени суток! Создаю поток TThread в нем используя CreateProcess запускаю программу, дале WaitForSingleObject(Pi.hProcess, INIFINITE) жду завешения программы. Как на протяжении всей работы программы-потока выполнять действие? К примеру следить за системным временем: Если системное время совподает с заданным пользователем то производить действие(Закрывать поток, выводить сообщение) . Или к примеру на протяжении всей работы программы-потока следить за нагрузкой програмы на процессор. Как? |
Автор: bems 6.10.2010, 21:53 |
Для начала: что ты понимаешь под программой-потоком. Ты в своем потоке создаешь новый процесс с его первичным потоком. Что такое программа-поток не понятно. |
Автор: ЧеловекБорща 11.10.2010, 12:02 |
Моя программа создаёт поток TThread, а тот в свою очередь запускает другую программу используя CreateProcess. Поток tthread ждёт завершения программы(WaitForSingleObject(pi.hProcess,INFINIE), как на протяжении всего времени работы потока tthread(Программы) выполнять действие? К примеру следить за системным временем и в назначенноевремя закрыть программу? |
Автор: bems 11.10.2010, 18:19 |
ждать не INIFINITE, а указать интервал |
Автор: ЧеловекБорща 12.10.2010, 16:20 |
А если необходимо ждать завершения процесса(infinite) и ждать определённого момента? К примеру следить за временем и в определенный момент завершить процесс? Или на протяжении всего ождиния завершения выполнять какое-то действие... Проще говоря "таймер в потоке"... |
Автор: bems 12.10.2010, 18:27 |
посчитай интервал с момента создания процесса, до момента когда нужно завершить и указывай его в WaitForSingleObject. Если она возвращает WAIT_TIMEOUT, то процесс нужно завершить |
Автор: ЧеловекБорща 12.10.2010, 18:35 |
Можно пояснить, пожалауйста? ![]() |