Форум программистов, компьютерный форум, киберфорум
Алгоритмы
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
90 / 109 / 15
Регистрация: 26.01.2014
Сообщений: 710

Информация из одной программы в другую

27.02.2023, 01:00. Показов 766. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Джентльмены.
В какие-то годы была надобность мерить компьютером температуру. Приятель подарил мне комок проводов с десятком термодатчиков на них и все это втыкалось в СОМ порт. К этому прилагалась DOS программа опроса датчиков с фиксированным темпом опроса и выводом данных на консоль. Никакой документации на датчики не имелось. Текста программы опроса тоже не было. Но все заработало, хотя значения температур с отдельных датчиков нужно было перекалибровать.
Мне нужно было изменить темп опроса датчиков (ну скажем с раз в 30 секунд на раз в секунду). Выбросить из опроса отдельные датчики. Откалибровать оставшиеся, выводить информацию с них в мою программу ну и там использовать как это было нужно.
Кто посоветуе, можно ли это сделать?
Как-то влезть в самозамкнутую прилагаемую DOS программу из моей внешней программы. Ну и получить в результате то, что мне нужно. При этом о DOS программе я не знаю ничего, кроме того что она как-то работает через СОМ порт.
Сразу должен извиниться - дело давнее, нынче не актуальное. Но одно из немногих, к которому я не знаю как подойти.
Специалисты! Посоветуйте!
Всегда Ваш - Etien.

P./S. - вопрос более общий. Может ли одна программа получить доступ к данным или рессурсу программы другой.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.02.2023, 01:00
Ответы с готовыми решениями:

Информация с одной формы на другую
Столкнулся с такой проблемой, что нужно со второстепенной формы вывести число на главную(Число это очки так сказать)не знаю как это...

Сделать из одной программы другую
//Программа исключает диагонали матрицы, которые делят её на 4 сектора, //посчитать сумму элементов для каждого сектора и найти...

Внедрение одной программы в другую
Доброго времени суток! У меня стояла задача интегрировать свою программу которая рассчитывает величину и сохраняет данные в файл. Я...

6
 Аватар для vantfiles
1018 / 1914 / 177
Регистрация: 07.05.2013
Сообщений: 3,931
Записей в блоге: 12
27.02.2023, 06:25
Цитата Сообщение от Etien Посмотреть сообщение
Как-то влезть в самозамкнутую прилагаемую DOS программу из моей внешней программы. Ну и получить в результате то, что мне нужно. При этом о DOS программе я не знаю ничего, кроме того что она как-то работает через СОМ порт.
Переходничок нв COM-порт, перехватить прямые и обратные сообщения, разобраться с протоколом и написать свое.

Цитата Сообщение от Etien Посмотреть сообщение
Может ли одна программа получить доступ к данным или рессурсу программы другой.
В ДОС-е - да.
1
90 / 109 / 15
Регистрация: 26.01.2014
Сообщений: 710
27.02.2023, 14:16  [ТС]
Решение "в лоб". Я раздумывал над этим. Перехватить СОМ уже работающей программы другой программой того же компа мне не удалось. Распараллелить поток СОМа на другой комп и посмотреть, что там идет не пробовал. Там может быть протокол самый фантастический. Это та еще задача по дешифровке. Я ведь не знаю и не догадываюсь что там идет, с каими скоростями и кодировками. какой там порядок опроса ну и прочее. Вижу только выдачу температуры на экране.
Когда то нечто подобное было с другим прибором и обслуживающей его программой. Там была документация. Но читая только обмен без знания протокола, а я его видел, было бы очень непросто этот протокол восстановить. Нет в этом случае по документации все сделал успешно.
За совет благодарю. Не может ли быть решения менее "в лоб"?
DOS нынче не актуален, но из соображений общего понимания, подскажите идею как залезть одной программе во внутренности другой. При том желательно сохранить работоспособность обоих.
Всегда Ваш - Etien.
0
 Аватар для vantfiles
1018 / 1914 / 177
Регистрация: 07.05.2013
Сообщений: 3,931
Записей в блоге: 12
27.02.2023, 16:20
Цитата Сообщение от Etien Посмотреть сообщение
протокол самый фантастический
Что там может быть кроме того же Модбаса?
Или вообщн - голого телнета.

Цитата Сообщение от Etien Посмотреть сообщение
Распараллелить поток СОМа на другой комп и посмотреть, что там идет не пробовал.
Попробуйте.
0
90 / 109 / 15
Регистрация: 26.01.2014
Сообщений: 710
27.02.2023, 17:20  [ТС]
Эти термометры мне подарили в виде комка проводов с капельками датчиков с соображениями - сможешь разобраться - будет твое. Датчик внешне выглядел как пластиковый корпус транзистора. Никакой маркировки ни года выпуска. По тем годам стандарты интерфейсов еще не установились. Возможно многое со стороны датчиков решено схемно.
Общее резюме - я отдарил все хозяину обратно. Сейчас у меня уже ничего нет. Измерения были сделаны по другому. Но осадочек остался, что и привело к теме форума.
Будь задача актуальна сейчас и не имея других путей, возможно я бы и занялся просмотром обмена и попыткой восстановления протокола. Думается, я бы уперся скажем в схемное решение темпа опроса, через которое не перепрыгнуть. Т.е. задачка хлопотная, а приза может и не быть.
Попробовать деассемблировать прилагаемую программу тоже коврижек не обещало. Опять таки за незнанием протокола обмена. Как стрижка свиньи: визга (хлопот) много, а шерсти мало.
Идеально было бы добраться до данных прилагаемой программы, из из своей программы и что нужно подставлять и читать в нее самому. Тогда с железом пусть разбирается прилагаемая программа, а вот мастер (хозяин) у нее был бы уже другой. К сожалению в рамках DOS я это преодолеть не смог. Я не уверен, можно ли это сделать в последующих опер. системах. Они не любят пускать программы уровня пользователя к рессурсам системы. И даже выход на уровень суперюзера или драйвера не решит проблему что, где и когда смотреть или менять. Глобально вопрос именно в этом.
Благодарю уважаемог Сэра vantfiles за добрые советы. Возможно кто-то сможет подсказать идеи более общей задачи.
Всегда Ваш - Etien.
0
653 / 161 / 64
Регистрация: 08.04.2015
Сообщений: 411
28.02.2023, 06:31
Цитата Сообщение от Etien Посмотреть сообщение
Идеально было бы добраться до данных прилагаемой программы, из из своей программы и что нужно подставлять и читать в нее самому.
Техническая возможность есть. К примеру, в Windows - функции API ReadProcessMemory() и WriteProcessMemory(). Но основной вопрос не в этом, а, как вы сами пишете:
Цитата Сообщение от Etien Посмотреть сообщение
что, где и когда смотреть или менять. Глобально вопрос именно в этом.
Если программа сделана как самодостаточная (т. е. в ней не предусмотрено взаимодействие с другим ПО), то вам нужна декомпиляция с последующим поиском и анализом тех мест в коде, которые вас интересуют.
Статический анализ декомпилированного кода не всегда даёт полную картину, поэтому далее вам, скорее всего, придётся запускать программу под отладчиком и продолжать её изучение в динамике.
1
90 / 109 / 15
Регистрация: 26.01.2014
Сообщений: 710
28.02.2023, 17:01  [ТС]
Еще Merci. функции API ReadProcessMemory() и WriteProcessMemory(). я не пользовался. К тому же это были времена перехода от DOS к чему-то. Я их просто не знал. И сейчас отдельная благодарность за подсказку.
Исходная прилагаемая программа конечно не предусматривала, что кто-то возжелает в ней копаться без ее ведома. Да и DOS неохотно позволял работать чему-то в параллель. Что, где и когда менять не очевидно. Деассемблировать, что-то менять и под отладчиком настраивая работу задачка как я предполагал "не АЙС". Если бы я разобрался в логике и протоколе опроса, то прилагаемая программа мне просто не нужна была бы.
Наверное интуитивно, да и на основе исходной установки - разбирайся ка сам, пришел к выводу что оно того не стоит. Коллеги были достаточно высокого уровня, чтобы посоветовать чего с перспективой на успех. Увы. Думается эти термометры так и валяются среди хлама с ценностью проводов их соединяющих. А жаль. Они все же работали с точностью до сотой градуса. Чему правда доверять уже не приходилось.
Организовать свою программу, из которой бы запускалась измерительная программа вместо DOS, перехватывать вывод на консоль в свою программу вместо консоли, и перезапускать новое измерение с нужным мне темпом я не сумел. Так и не знаю можно ли это принципиально.
Благодарю заинтересовавшихся темой. Мне это было полезно. Также буду благодарен за соображения, если кто успешно решал нечто подобное.
Всегда Ваш - Etien.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.02.2023, 17:01
Помогаю со студенческими работами здесь

Вывод видео с одной программы в другую
Форумчане, нужна ваша помощь, вообщем имею много видеорегистраторов для трансляции видео с магазинов в офис..Но дело всё в том, что...

Вывод одной программы через другую
Есть 2 программы #include<vector> #include<string> #include<algorithm> #include<iostream> #include<iomanip> ...

Пересылка команд из одной программы в другую
Как сделать программу, которая пересылала бы команды другой программе, которая в свою очередь должна выполнить их, к примеру: программа...

Как из одной программы контролировать другую?
Ку! Изучаю ассемблер и всё ни где не встречаю - как узнать что интересуемая прога уже активна, как ввести данные в её окно ввода? Т.е.,...

Передача данных из одной программы в другую
Помогите решить вот такую задачу!!!! Нужно передать данные из программы написанной на C Buildere в окно ввода другой программы которая не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru