|
90 / 109 / 15
Регистрация: 26.01.2014
Сообщений: 710
|
|
Информация из одной программы в другую27.02.2023, 01:00. Показов 766. Ответов 6
Метки нет (Все метки)
Джентльмены.
В какие-то годы была надобность мерить компьютером температуру. Приятель подарил мне комок проводов с десятком термодатчиков на них и все это втыкалось в СОМ порт. К этому прилагалась DOS программа опроса датчиков с фиксированным темпом опроса и выводом данных на консоль. Никакой документации на датчики не имелось. Текста программы опроса тоже не было. Но все заработало, хотя значения температур с отдельных датчиков нужно было перекалибровать. Мне нужно было изменить темп опроса датчиков (ну скажем с раз в 30 секунд на раз в секунду). Выбросить из опроса отдельные датчики. Откалибровать оставшиеся, выводить информацию с них в мою программу ну и там использовать как это было нужно. Кто посоветуе, можно ли это сделать? Как-то влезть в самозамкнутую прилагаемую DOS программу из моей внешней программы. Ну и получить в результате то, что мне нужно. При этом о DOS программе я не знаю ничего, кроме того что она как-то работает через СОМ порт. Сразу должен извиниться - дело давнее, нынче не актуальное. Но одно из немногих, к которому я не знаю как подойти. Специалисты! Посоветуйте! Всегда Ваш - Etien. P./S. - вопрос более общий. Может ли одна программа получить доступ к данным или рессурсу программы другой.
0
|
|
| 27.02.2023, 01:00 | |
|
Ответы с готовыми решениями:
6
Информация с одной формы на другую Сделать из одной программы другую Внедрение одной программы в другую |
|
90 / 109 / 15
Регистрация: 26.01.2014
Сообщений: 710
|
|
| 27.02.2023, 14:16 [ТС] | |
|
Решение "в лоб". Я раздумывал над этим. Перехватить СОМ уже работающей программы другой программой того же компа мне не удалось. Распараллелить поток СОМа на другой комп и посмотреть, что там идет не пробовал. Там может быть протокол самый фантастический. Это та еще задача по дешифровке. Я ведь не знаю и не догадываюсь что там идет, с каими скоростями и кодировками. какой там порядок опроса ну и прочее. Вижу только выдачу температуры на экране.
Когда то нечто подобное было с другим прибором и обслуживающей его программой. Там была документация. Но читая только обмен без знания протокола, а я его видел, было бы очень непросто этот протокол восстановить. Нет в этом случае по документации все сделал успешно. За совет благодарю. Не может ли быть решения менее "в лоб"? DOS нынче не актуален, но из соображений общего понимания, подскажите идею как залезть одной программе во внутренности другой. При том желательно сохранить работоспособность обоих. Всегда Ваш - 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 | |||
|
Статический анализ декомпилированного кода не всегда даёт полную картину, поэтому далее вам, скорее всего, придётся запускать программу под отладчиком и продолжать её изучение в динамике.
1
|
|||
|
90 / 109 / 15
Регистрация: 26.01.2014
Сообщений: 710
|
|
| 28.02.2023, 17:01 [ТС] | |
|
Еще Merci. функции API ReadProcessMemory() и WriteProcessMemory(). я не пользовался. К тому же это были времена перехода от DOS к чему-то. Я их просто не знал. И сейчас отдельная благодарность за подсказку.
Исходная прилагаемая программа конечно не предусматривала, что кто-то возжелает в ней копаться без ее ведома. Да и DOS неохотно позволял работать чему-то в параллель. Что, где и когда менять не очевидно. Деассемблировать, что-то менять и под отладчиком настраивая работу задачка как я предполагал "не АЙС". Если бы я разобрался в логике и протоколе опроса, то прилагаемая программа мне просто не нужна была бы. Наверное интуитивно, да и на основе исходной установки - разбирайся ка сам, пришел к выводу что оно того не стоит. Коллеги были достаточно высокого уровня, чтобы посоветовать чего с перспективой на успех. Увы. Думается эти термометры так и валяются среди хлама с ценностью проводов их соединяющих. А жаль. Они все же работали с точностью до сотой градуса. Чему правда доверять уже не приходилось. Организовать свою программу, из которой бы запускалась измерительная программа вместо DOS, перехватывать вывод на консоль в свою программу вместо консоли, и перезапускать новое измерение с нужным мне темпом я не сумел. Так и не знаю можно ли это принципиально. Благодарю заинтересовавшихся темой. Мне это было полезно. Также буду благодарен за соображения, если кто успешно решал нечто подобное. Всегда Ваш - Etien.
0
|
|
| 28.02.2023, 17:01 | |
|
Помогаю со студенческими работами здесь
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/
|