Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.11.2015, 13:02   #1
quager
 
Регистрация: 03.11.2015
Сообщений: 4
По умолчанию Узнать когда чужой процесс закончит обработку данных

Есть программа, которая считывает показания прибора. Мне нужно в своей программе узнать момент когда закончится считывание. Может ли кто-то помочь?
quager вне форума Ответить с цитированием
Старый 06.12.2015, 17:59   #2
quager
 
Регистрация: 03.11.2015
Сообщений: 4
По умолчанию

Ну раз никто даже предположений не высказал, напишу в общих чертах как я это реализовал:
нахожу процесс по имени, создаю отдельный поток в котором раз в секунду определяю процент использования процессора этим процессом, если на протяжении 10 секунд процесс неактивен (процент использования цп равен 0), считывание показаний считаю завершённым.
quager вне форума Ответить с цитированием
Старый 06.12.2015, 19:26   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А не проще ли запустить тот считывающий процесс через CreateProcess() и передав его хендл в WaitForSingleObject() заставить свою прогу ждать, когда он завершится?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.12.2015, 20:35   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,706
По умолчанию

Stilet, gа если прога "резидентная"?..

quager, главное, что б на эти 10 сек система не отдавала кванты более приоритетным процессам.
p51x вне форума Ответить с цитированием
Старый 06.12.2015, 20:56   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
gа если прога "резидентная"?..
А она у ТС резидентом висит? О_о
Тогда ИМХО это не лучшее занятие кванты считать... Что если компуха зависнет на считывании с девайса, как тогда ПО определит, что чтение закончилось?
Лучше бы автор подробностей накидал...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 07.12.2015, 09:12   #6
quager
 
Регистрация: 03.11.2015
Сообщений: 4
По умолчанию

Дело в том что программа не завершается после считывания.
Мне как раз и нужно из своей программы выполнять некоторые манипуляции с этой считывающей программой, после того как она завершит чтение данных.
quager вне форума Ответить с цитированием
Старый 07.12.2015, 09:38   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
quager
Чтоб полноценно ответить на твой вопрос нужны подрообности.
А так делай как делаешь, и однажды это выйдет тебе боком, когда считывающая программа зависнет ожидая данные из порта, а твоя будет думать что уже все.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 07.12.2015, 10:22   #8
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,330
По умолчанию

Лучше всего если прога сама будет слать сигнал о завершении, но если это сторонний ЕХЕ файл то все будет сводится к научному гаданию на кофейных отходах - будет ненадежно.

Далее, программа скорее всего данные куда-то пишет, так может лучше следить когда появилась запись данных?
waleri вне форума Ответить с цитированием
Старый 07.12.2015, 11:27   #9
quager
 
Регистрация: 03.11.2015
Сообщений: 4
По умолчанию

Программа работает с базой данных и запись там не одна, а длительное считывание показаний за целый месяц. Обычно считывание длится пару часов и я слабо представляю как определить что чтение показаний закончилась и куда эти показания записались.
quager вне форума Ответить с цитированием
Старый 07.12.2015, 11:41   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

По-моему дело - швах...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Инжект кода в чужой процесс 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