|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
03.11.2015, 13:02 | #1 |
Регистрация: 03.11.2015
Сообщений: 4
|
Узнать когда чужой процесс закончит обработку данных
Есть программа, которая считывает показания прибора. Мне нужно в своей программе узнать момент когда закончится считывание. Может ли кто-то помочь?
|
06.12.2015, 17:59 | #2 |
Регистрация: 03.11.2015
Сообщений: 4
|
Ну раз никто даже предположений не высказал, напишу в общих чертах как я это реализовал:
нахожу процесс по имени, создаю отдельный поток в котором раз в секунду определяю процент использования процессора этим процессом, если на протяжении 10 секунд процесс неактивен (процент использования цп равен 0), считывание показаний считаю завершённым. |
06.12.2015, 19:26 | #3 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
А не проще ли запустить тот считывающий процесс через CreateProcess() и передав его хендл в WaitForSingleObject() заставить свою прогу ждать, когда он завершится?
I'm learning to live...
|
06.12.2015, 20:35 | #4 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,758
|
Stilet, gа если прога "резидентная"?..
quager, главное, что б на эти 10 сек система не отдавала кванты более приоритетным процессам. |
06.12.2015, 20:56 | #5 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Тогда ИМХО это не лучшее занятие кванты считать... Что если компуха зависнет на считывании с девайса, как тогда ПО определит, что чтение закончилось? Лучше бы автор подробностей накидал...
I'm learning to live...
|
|
07.12.2015, 09:12 | #6 |
Регистрация: 03.11.2015
Сообщений: 4
|
Дело в том что программа не завершается после считывания.
Мне как раз и нужно из своей программы выполнять некоторые манипуляции с этой считывающей программой, после того как она завершит чтение данных. |
07.12.2015, 09:38 | #7 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
А так делай как делаешь, и однажды это выйдет тебе боком, когда считывающая программа зависнет ожидая данные из порта, а твоя будет думать что уже все.
I'm learning to live...
|
|
07.12.2015, 10:22 | #8 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,342
|
Лучше всего если прога сама будет слать сигнал о завершении, но если это сторонний ЕХЕ файл то все будет сводится к научному гаданию на кофейных отходах - будет ненадежно.
Далее, программа скорее всего данные куда-то пишет, так может лучше следить когда появилась запись данных? |
07.12.2015, 11:27 | #9 |
Регистрация: 03.11.2015
Сообщений: 4
|
Программа работает с базой данных и запись там не одна, а длительное считывание показаний за целый месяц. Обычно считывание длится пару часов и я слабо представляю как определить что чтение показаний закончилась и куда эти показания записались.
|
07.12.2015, 11:41 | #10 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
По-моему дело - швах...
I'm learning to live...
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Инжект кода в чужой процесс | Malriser | Общие вопросы C/C++ | 13 | 19.02.2014 22:17 |
SysListView32 Добавление Item (чужой процесс) | custanator | Win Api | 10 | 06.04.2011 14:30 |
как перехватить чужой процесс | Assemblerru | Win Api | 8 | 28.09.2010 20:07 |
Узнать UCallBackMessage чужой иконки в трее | Crivel | Общие вопросы Delphi | 0 | 20.10.2009 00:55 |
Как узнать когда браузер скачивает, а когда нет? | iPod | Работа с сетью в Delphi | 1 | 07.05.2007 15:16 |