Как разместить окно приложения в качестве дочернего элемента окна, принадлежащего другому процессу? - PullRequest
3 голосов
/ 06 февраля 2009

Я бы хотел разместить окно приложения из процесса "A" в главном окне процесса "B", как если бы окно "A" было дочерним окном MDI. Возможно ли это в Windows? Или есть какие-то уловки, которые позволили бы мне подделать это?

Кстати, я бы хотел удалить строку заголовка (или, что еще лучше, все не относящиеся к клиенту) окна «A», когда оно встроено в окно «B». Я полагаю, что это должно быть возможно путем настройки стилей или классов окон, но я ни в коем случае не являюсь экспертом в этих тонкостях Win32.

1 Ответ

2 голосов
/ 07 февраля 2009

Возможно разместить окно. Измените родительский HWND, вызвав для него функцию SetParent. Чтобы изменить стили окна, вам нужно использовать пару GetWindowLong / SetWindowLong, чтобы изменить атрибуты, которые вы хотите изменить.

Если это стороннее приложение (т. Е. Не ваше), то вам, вероятно, предстоит грубая поездка, особенно если окно выполняет какие-либо темы или что-то нестандартное с его окном (например, изменяет перетаскивание площадь и т. д.).

...