| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: WinAPI и системное программирование > А как сделать MDI форму из чужого окна? |
| Автор: Гость_ГОСТЬ 19.4.2004, 05:11 |
| Допустим у меня из программы выполняеться ShellExecute(h, 'open', 'ping.exe', .... запускаеться стандартное cmd окно винды, как его бы сделать типа MDI окошко, чтобы можно было им на главной форме управлять.... Возможно вообще такое? |
| Автор: x77 19.4.2004, 09:36 | ||||
возможно, только геморройно. нижеприведённый код запускает досовскую прогу в мемо-контроле (т.е. весь выход, всё, что она генерит, выводится не в смд, а в мемо). а уже само это мемо размещай где хочешь, в т.ч. и в mdi-форме.
если это дело слегка изменить:
то результат будет выводиться в рантайм, а не после окончания вывода. частота обновления при этом будет регулироваться последним параметром, передаваемым в WaitForSingleObject. но здесь перехватывается только вывод. по идее, можно заморочиться, чтобы перехватывался и ввод, по тому же принципу. Добавлено @ 09:39 изначально этот код мне попался с комментариями на то ли испанском, то ли итальянском, и глючил он безбожно. я тебе привёл отрывок уже из своего проекта, многократно правленный. но там тоже есть заморочки, например, у меня стабильно всё валится в эксепшн, если WaitForSingleObject передавать интервал меньше 100. почему - я до сих пор не понимаю. |
| Автор: Гость_ГОСТЬ 20.4.2004, 01:06 |
| x77 спасибо конечно, так я делал , но геморойно ......., особенно если ping в окошке запускать, а если тарссировку то вообще кердык вот если бы можно было запихнуть в MDI окошко, может кто знает ???? HELP ME!!!!! |
| Автор: x77 20.4.2004, 13:16 |
| единственное, что приходит в голову - это отлавливать консоль и позиционировать её на своей форме, не давай перекрываться. изврат, конечно, но мне кажется, иллюзии работы "внутри" окна можно добиться. |
| Автор: z-END 20.4.2004, 21:47 |
| еще можно такой вариант попробывать: Windows.SetParent (ханд окна "ping.exe", хандл того контрола в который ее надо засунуть) |
| Автор: Гость_Гость 26.4.2004, 02:29 |
| nJIaKca.spb благодарю тебя !!! |