![]() |
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]() ![]() ![]() |
|
ЧеловекБорща |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 94 Регистрация: 5.6.2010 Репутация: нет Всего: нет |
Доброго времени суток!
Создаю поток TThread в нем используя CreateProcess запускаю программу, дале WaitForSingleObject(Pi.hProcess, INIFINITE) жду завешения программы. Как на протяжении всей работы программы-потока выполнять действие? К примеру следить за системным временем: Если системное время совподает с заданным пользователем то производить действие(Закрывать поток, выводить сообщение) . Или к примеру на протяжении всей работы программы-потока следить за нагрузкой програмы на процессор. Как? |
|||
|
||||
bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 21 Всего: 88 |
Для начала: что ты понимаешь под программой-потоком.
Ты в своем потоке создаешь новый процесс с его первичным потоком. Что такое программа-поток не понятно. -------------------- Обижено школьников: 8 |
|||
|
||||
ЧеловекБорща |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 94 Регистрация: 5.6.2010 Репутация: нет Всего: нет |
Моя программа создаёт поток TThread, а тот в свою очередь запускает другую программу используя CreateProcess.
Поток tthread ждёт завершения программы(WaitForSingleObject(pi.hProcess,INFINIE), как на протяжении всего времени работы потока tthread(Программы) выполнять действие? К примеру следить за системным временем и в назначенноевремя закрыть программу? |
|||
|
||||
bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 21 Всего: 88 |
ждать не INIFINITE, а указать интервал
-------------------- Обижено школьников: 8 |
|||
|
||||
ЧеловекБорща |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 94 Регистрация: 5.6.2010 Репутация: нет Всего: нет |
А если необходимо ждать завершения процесса(infinite) и ждать определённого момента? К примеру следить за временем и в определенный момент завершить процесс? Или на протяжении всего ождиния завершения выполнять какое-то действие...
Проще говоря "таймер в потоке"... |
|||
|
||||
Riply |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Комодератор Сообщений: 572 Регистрация: 27.3.2007 Где: St. Petersburg Репутация: 21 Всего: 32 |
WaitForMultipleObjects(Ex) ? Добавлено через 1 минуту и 43 секунды
Например, ожидание поместить в нить. |
||||
|
|||||
bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 21 Всего: 88 |
посчитай интервал с момента создания процесса, до момента когда нужно завершить и указывай его в WaitForSingleObject. Если она возвращает WAIT_TIMEOUT, то процесс нужно завершить
-------------------- Обижено школьников: 8 |
|||
|
||||
ЧеловекБорща |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 94 Регистрация: 5.6.2010 Репутация: нет Всего: нет |
||||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: WinAPI и системное программирование" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |