Как разместить окно приложения в качестве дочернего элемента окна, принадлежащего другому процессу?
Я хотел бы разместить окно приложения из процесса "A" в главном окне процесса "B", как если бы окно "A" было дочерним окном MDI. Возможно ли это в Windows? Или есть какие-то хитрости, которые позволили бы мне подделать это?
Кстати, я хотел бы удалить строку заголовка (или, что еще лучше, все не относящиеся к клиенту вещи) окна "А", когда оно встроено в окно "Б". Я полагаю, что это должно быть возможно путем настройки стилей или классов окон, но я ни в коем случае не являюсь экспертом в этих тонкостях Win32.
1 ответ
Можно разместить окно. Измените родительский HWND A, вызвав для него функцию SetParent. Чтобы изменить стили окна, вам нужно использовать пару GetWindowLong/SetWindowLong, чтобы изменить атрибуты, которые вы хотите изменить.
Если это стороннее приложение (т. Е. Не ваше), то вам, вероятно, предстоит грубая поездка, особенно если окно выполняет какие-либо темы или что-то нестандартное со своим окном (например, изменения в области перетаскивания и т. Д.).).