Возможно ли, чтобы приложение стало владельцем окна другого приложения? - PullRequest
1 голос
/ 28 июня 2010

По сути, у меня есть два приложения, которые запускаются последовательно (второе запускается первым, а первое завершается сразу после.) Я хотел бы передать право владения окном, созданным первым приложением, второму приложению. Фактическое содержимое окна не нужно передавать, оно просто рисуется DirectX.

В качестве альтернативы, но менее желательно, возможно ли, по крайней мере, отключить анимацию закрытия / открытия окна, чтобы она, по крайней мере, выглядела так, как будто достигнут желаемый эффект?

(Это на C, используя ванильный API Win32.)

Ответы [ 3 ]

2 голосов
/ 28 июня 2010

Вместо отдельного приложения создайте DLL, которая будет загружена первым приложением и запущена в нем.

1 голос
/ 28 июня 2010

Я подозреваю, что вы столкнетесь с проблемами, потому что функция WindowProc находится в адресном пространстве памяти закрываемой программы.

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

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

0 голосов
/ 27 декабря 2015

вы можете использовать перехват API, чтобы заставить ваши DLL захватывать вызовы окон API, отправленные окном приложения, и отвечать так, как будто ваша DLL - это DLL Windows

для получения дополнительной информации о проверке перехватов:

Обзор крючков

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...