PDA

Просмотр полной версии : Можно ли получить в окне вывод из другого приложения?



0b0rm0t
06.01.2006, 18:27
Если конкретно, то хочу в окошке получить график, нарисованный гнуплотом. Можно в новом окне. Возможно ли такое в принципе? Должно ли приложение, которое я собираюсь использовать,
быть написанным с учетом этой фичи или все автоматически произойдет? Если не понятно, о чем я, то поясню - нечто подобное происходит, когда explorer открывает какой-нибудь "левый" файл, типа pdf/ptt.

В программировании под винду/winapi не шарю совершенно, поэтому буду рад возможно более подробному ответу.

ЗЫ. Прошу обратить внимание, что задача - не посторить график (что тривиально), а именно получит вывод гнуплота/какого другого приложения.

Kolinus
09.01.2006, 12:01
можно наверное :)
1) эксплорер открывает "левый" файл не потому что он такой умный а потому что есть к нему умные плагины (модули - назови как угодно) которые умеют работать с содержимым а он всего лишь контейнер в котором эти компоненты находятся.
2) поищи на RSDN что-то типа "получить скриншот окна" - там эта тема неоднократно обсуждалась и в каждом конкретном случае находили конкретное решение под ОС/компилятор.

0b0rm0t
09.01.2006, 22:08
да стопудово можно, только знать бы чего искать

1) дык и я о том же. именно такой контейнер и хочу. (там правда, "опечатка" - имелся в виду IE, а не explorer, ну да вроде и так понятно)

2) не совсем то. мне ж не картинка нужна, а "живое" окно, с кнопками и прочей лабудой. график - это ведь так, для примера.

AlexDav
10.01.2006, 11:11
Пусть меня поправят, если ошибаюсь, но для этого в программе которую вы собираетесь использовать должна быть предусмотренна именно такая возможность встаивания - что-то типа COM или OLE.
А там уже все просто - изпользуешь этот компонент какбуд-то сам его написал.
Набери в MSDN просто одно из этих слов.

SokolovS
08.02.2006, 13:36
То это просто - создать pipe и перенаправить в нее стандартный вывод другого приложения. А с другого конца этой pipe слушать и выводить в свое окно.
А вот с графикой - не знаю...