Запуск программы в программе07.08.2019, 17:52. Показов 4780. Ответов 3
Метки нет (Все метки)
Есть две программы.
Программа А - написана на PascalABC.NET Программа Б - написана на Turbo Pascal Задача - в определенной области окна программы А (первый скриншот, область - черный фон) вывести программу Б, запускаемую через досбокс (скриншот 2), так чтоб бы все это было единым приложением. Как это можно реализовать? В реальности это выглядит как на скриншоте 3. Цель - упростить работу с программой Б, а также повысить реалистичность моделируемого процесса работы оператора (его рабочей зоны). По сути, клавиши на программе А повторяют стрелки на клавиатуре и передвигают курсор на программе Б. С цифрами то же самое. Остальное - спец. команды которые так же дублированы на обычной клавиатуре.
0
|
|
| 07.08.2019, 17:52 | |
|
Ответы с готовыми решениями:
3
Запуск программы в программе Запуск программы без создания окна. Запуск фоновой программы Запуск студией и запуск самой виндой. Разница работы программы |
|
2355 / 1458 / 526
Регистрация: 07.04.2017
Сообщений: 4,798
|
|
| 07.08.2019, 20:29 | |
|
У вас есть возможность менять код программы Б?
Если да - передавайте дескриптор элемента управления (который будет той чёрной областью) через параметры командной строки или пайпы. И может ещё какие то данные. А на стороне Turbo Pascal программы используйте эти данные чтоб захватить элемент управления и рисовать на нём. Если нет - без инъекций кода, скорее всего, не обойтись. Двигать и сворачивать/разворачивать окно программы Б мало, ибо оно будет немного лагать. Кстати, а зачем собственно вам разбивать так на 2 программы? По моему на много проще будет разделить всё на модули в 1 PABC.Net программе. Даже если у вас нет исходников программы Б, переписать её всё равно должно быть проще.
0
|
|
| 07.08.2019, 20:48 [ТС] | |||||||
|
Исходники то есть ,вопрос не в этом, вопрос в другом. Я вряд ли смогу переписать сие чудо под ABC, в связи с тем что там боле 200 модулей и 1/10 на ассемблере. Так что к сожалению
Я думал что она будет запускаться просто там в окне с помощью
Если бы мне кто помог по скайпу я был бы благодарен, дело в том, что выложить я его пока что не могу.
0
|
|||||||
|
2355 / 1458 / 526
Регистрация: 07.04.2017
Сообщений: 4,798
|
||||
| 07.08.2019, 21:37 | ||||
|
2. Не хотите переписывать сами - напишите программу, которая сделает это за вас. Я так с OpenGL и OpenCL сделал. То есть я сделал простенький парсер (обхватывающий далеко не все возможности, а только то что было в OpenGL) для кода на язык C и приделал к нему вывод в виде PABC.Net кода. В итоге 800 строк кода создают мне 40к+ строк кода. А какая эйфория смотреть как что то за меня делается)) Process можно запустить процесс другой программы, но как я и сказал - это не предусматривает захват окна:
0
|
||||
| 07.08.2019, 21:37 | |
|
Помогаю со студенческими работами здесь
4
Запуск из программы с админскими привилегиями внешней программы без прав админа Как удалить ссылку на запуск программы при удалении программы Ввод текста. Закрытие программы. Запуск программы. Введенный ранее текст уже открыт Запуск внешней программы программы из коммнадной строки Запуск справки к программе Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|