| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: WinAPI и системное программирование > Запуск чужой программы как дочернее окно своей |
| Автор: samec 27.11.2008, 09:31 |
| Добрый день. Есть стороняя программа, работающая в полноэкранном режиме. Возможно ли из своего приложения запустить эту программу так, чтобы она стала дочерним окном нашего MDI окна? |
| Автор: CodeMonkey 27.11.2008, 10:23 |
| Что вы понимаете под полноэкранный режимом? Это, типа, как игра что-ли? На полный экран, DirectX там и всё такое? |
| Автор: samec 27.11.2008, 11:34 |
| Да, запустить таким образом нужно игру. |
| Автор: CodeMonkey 27.11.2008, 11:52 |
| А сама игра поддерживает ли работу в окне? Работа на полный экран и работа в окне - это два существенно разных режима, которые по-разному инициализируются и по-разному обрабатываются. Чтобы переключиться из одного режима в другой нужно проводить инициализацию заново. |
| Автор: samec 27.11.2008, 16:29 |
| программа, если её запустить и нажать Alt+Enter переходит к работе в окне. Мне же надо, чтобы, к примеру, нажал я на кнопку в скоём приложении - и эта программа запустилась сразу в окошке, а не на весь экран. Причем, желательно, чтобы это окошко было дочерним окном MDI окна. |
| Автор: samec 27.11.2008, 20:26 |
| чтож, очень жаль... |
| Автор: samec 27.11.2008, 22:26 |
| а как тогда это делают программы типа VMware ??? |
| Автор: Virtuals 28.11.2008, 06:02 |
| samec, VMware это компьютер, и ей пофиг на все программы ты еще спроси как такое делает RAdmin |
| Автор: CodeMonkey 28.11.2008, 10:40 |
| ...VMware - это Матрица. К сожалению, никому нельзя рассказать, что такое Матрица - каждый должен увидеть это сам... |
| Автор: MetalFan 28.11.2008, 12:30 |
| а почему бы не провести эксперимент по след.алгоритму: 1. Запуск игры 2. Получение главного окна игрового приложения 3. Присвоение парентом этого окна формы из своего приложения... |
| Автор: samec 28.11.2008, 16:00 | ||
Запускаю игру CreateProcess. Получаю Handle главного окна. А дальше как? |
| Автор: bems 28.11.2008, 18:25 |
| А дальше SetParent |
| Автор: MetalFan 28.11.2008, 19:43 |
| ага, только остается "сообщить" окну игрушки, что надо бы из фуллскрина в виндоуд мод переключица (Alt+Enter)... |
| Автор: Virtuals 28.11.2008, 20:00 |
| MetalFan, ага и прога пошлет вас лесом, 99% все вспоминаем свои эксперементы с 3д приложеиями |
| Автор: bems 29.11.2008, 16:51 |
это верно. не видел версии, эмулирующей видеокарточку с поддержкой direct3D. В сумме имеем ответ "никак"? мне кажется, что не все так ужасно если делать только для одной конкретной игрушки. Там можно например програмно дорисовывать оконный режим в файл конфигурации игрушки еще перед запуском. Но универсальности не выйдет |
| Автор: CompWorm 30.11.2008, 17:38 |
| попробуй пошарить исходники чита V0gelz Mod для gta-samp... они на си, но там есть окононизация этой игры, которая, по сути, изначально оконного режима не имеет |
| Автор: danielseddian 23.6.2016, 01:41 |
| Здравствуйте, вроде и в тему, но не совсем, тут был задан вопрос - "как запускать "полноэкранную" прогу сразу в окне и желательно в другой программе", и если с первой частью вопроса всё более или менее ясно (хотя, что мешает запустить на том же VMWare?), то вот на счёт запуска других программ в окне своей проги никто ничего не ответил. Хотел бы уточнить, может кто-то всё-таки знает - хочу собрать програмку, которая все запущенные windows приложения отображает на размеченной сетке, с возможностью масштабировать по этой сетке и пролистывать запущенные ПО обычным скролингом влево-вправо. Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/Zapusk-chuzhoy-programmy-kak-docherneye-okno-svoyey-id50ba2e766ccc198014087eec#findElement_E7045_576b1420ae2015f91f0480bc_0 |
| Автор: danielseddian 23.6.2016, 01:42 |
| На даты не посмотрел :( По ходу, тема мёртвая.... Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/Zapusk-chuzhoy-programmy-kak-docherneye-okno-svoyey-id50ba2e766ccc198014087eec#findElement_E7045_576b1452ae2015f91f0480d6_0 |