Можно ли запустить новый процесс и установить его главное окно как дочернее окно моего приложения MDI? - PullRequest
2 голосов
/ 28 марта 2009

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

Сценарий таков: у меня есть приложение MDI, и я хочу запустить Adobe Acrobat в качестве дочернего окна моего приложения MDI.

Ответы [ 3 ]

3 голосов
/ 28 марта 2009

Теоретически, я считаю, что возможно использовать SetParent.

Однако на практике это может быть немного сложнее, чем вы ожидаете. Кроме того, вам необходимо выполнить работу по синхронизации стилей и т. Д.

Только мысль, хотя - если вы пытаетесь встроить Acrobat Reader (не полный Acrobat), вы можете сделать это проще, внедрив webcontrol и используя в этом плагин Acrobat Reader ...


Вот несколько примеров людей, делающих эту работу (хотя бы частично):

Соответствующий вопрос SO с обходными путями для конкретных проблем.

Статья CodeProject с использованием SetParent

Вопрос экспертов о внедрении Java-приложения в приложение Win32.

1 голос
/ 28 марта 2009

Я не думаю, что то, что вы хотите, легко сделать, но это может быть вариант, чтобы попытаться интегрировать одно из средств просмотра PDF с открытым исходным кодом (если вы готовы перейти на GPL, поскольку это, вероятно, лицензия на большинство из них). Некоторые ссылки:

1 голос
/ 28 марта 2009

Я не верю, что это возможно, по крайней мере, не используя SetParent. Цитировать из документации SetParent:

Приложение может использовать SetParent функция, чтобы установить родительское окно всплывающее, перекрывающееся или дочернее окно. Новое родительское окно и дочерний окно должно принадлежать одному и тому же применение.

...