Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/22: Рейтинг темы: голосов - 22, средняя оценка - 4.55
2 / 2 / 0
Регистрация: 28.06.2019
Сообщений: 129
Записей в блоге: 3

Запуск программы в программе

07.08.2019, 17:52. Показов 4780. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть две программы.
Программа А - написана на PascalABC.NET
Программа Б - написана на Turbo Pascal
Задача - в определенной области окна программы А (первый скриншот, область - черный фон) вывести программу Б, запускаемую через досбокс (скриншот 2), так чтоб бы все это было единым приложением. Как это можно реализовать? В реальности это выглядит как на скриншоте 3.
Цель - упростить работу с программой Б, а также повысить реалистичность моделируемого процесса работы оператора (его рабочей зоны).

По сути, клавиши на программе А повторяют стрелки на клавиатуре и передвигают курсор на программе Б. С цифрами то же самое. Остальное - спец. команды которые так же дублированы на обычной клавиатуре.
Миниатюры
Запуск программы в программе   Запуск программы в программе   Запуск программы в программе  

0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.08.2019, 17:52
Ответы с готовыми решениями:

Запуск программы в программе
Доброго утра и хорошего дня! Недавно возникла идея у меня запустить другую программу(например калькулятор) не в новом окне, а в окне...

Запуск программы без создания окна. Запуск фоновой программы
Вопрос, как сделать, чтобы консольное приложение при запуске не создавало окошко консоли. Т.е. запустился процесс, но визуально ничего не...

Запуск студией и запуск самой виндой. Разница работы программы
Итак, проблема такова: есть проект, который замечательно работает при нажатии F5 в студии. При компиляции в релиз-режиме и запуске...

3
 Аватар для Sun Serega
2355 / 1458 / 526
Регистрация: 07.04.2017
Сообщений: 4,798
07.08.2019, 20:29
У вас есть возможность менять код программы Б?

Если да - передавайте дескриптор элемента управления (который будет той чёрной областью) через параметры командной строки или пайпы. И может ещё какие то данные.
А на стороне Turbo Pascal программы используйте эти данные чтоб захватить элемент управления и рисовать на нём.

Если нет - без инъекций кода, скорее всего, не обойтись. Двигать и сворачивать/разворачивать окно программы Б мало, ибо оно будет немного лагать.

Кстати, а зачем собственно вам разбивать так на 2 программы? По моему на много проще будет разделить всё на модули в 1 PABC.Net программе. Даже если у вас нет исходников программы Б, переписать её всё равно должно быть проще.
0
2 / 2 / 0
Регистрация: 28.06.2019
Сообщений: 129
Записей в блоге: 3
07.08.2019, 20:48  [ТС]
Исходники то есть ,вопрос не в этом, вопрос в другом. Я вряд ли смогу переписать сие чудо под ABC, в связи с тем что там боле 200 модулей и 1/10 на ассемблере. Так что к сожалению
Цитата Сообщение от Sun Serega Посмотреть сообщение
переписать её всё равно должно быть проще.
не проще...
Я думал что она будет запускаться просто там в окне с помощью
Pascal
1
System.Diagnostics.Process
Я смог пока что назначить на клавишу startб но программа Б запускается в отдельном окне.
Если бы мне кто помог по скайпу я был бы благодарен, дело в том, что выложить я его пока что не могу.
0
 Аватар для Sun Serega
2355 / 1458 / 526
Регистрация: 07.04.2017
Сообщений: 4,798
07.08.2019, 21:37
Цитата Сообщение от Dima_control Посмотреть сообщение
Я вряд ли смогу переписать сие чудо под ABC
1. PABC и PABC.Net на столько же похожи, на сколько русский и украинский языки. Не путайте их друг с другом.
2. Не хотите переписывать сами - напишите программу, которая сделает это за вас. Я так с OpenGL и OpenCL сделал. То есть я сделал простенький парсер (обхватывающий далеко не все возможности, а только то что было в OpenGL) для кода на язык C и приделал к нему вывод в виде PABC.Net кода. В итоге 800 строк кода создают мне 40к+ строк кода. А какая эйфория смотреть как что то за меня делается))

Цитата Сообщение от Dima_control Посмотреть сообщение
Я думал что она будет запускаться просто там в окне с помощью
С помощью Process можно запустить процесс другой программы, но как я и сказал - это не предусматривает захват окна:
Цитата Сообщение от Sun Serega Посмотреть сообщение
Двигать и сворачивать/разворачивать окно программы Б мало, ибо оно будет немного лагать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.08.2019, 21:37
Помогаю со студенческими работами здесь

Запуск из программы с админскими привилегиями внешней программы без прав админа
Нужно в программе которая запущенна под амином запустить другую программу без прав админа.

Как удалить ссылку на запуск программы при удалении программы
Всем привет! Для установки - удаления программ использую такие пакеты как InstallShield и Advanced Installer. Они чётко справляются со...

Ввод текста. Закрытие программы. Запуск программы. Введенный ранее текст уже открыт
Здравствуйте. Подскажите, как сделать "Ввод текста. Закрытие программы. Запуск программы. Введенный ранее текст уже открыт." То...

Запуск внешней программы программы из коммнадной строки
Здравствуйте, есть программа D:\user\start.exe Как средствами excel vba вызвать командную строку и запустить программу из коммандной...

Запуск справки к программе
Подскажите, как запустить из программы файл справки, написанный и скомилированный самостоятельно, т.е. файл *.chm По нажатию...


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

Или воспользуйтесь поиском по форуму:
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 На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru