Почему панель задач появляется, когда немодальное диалоговое окно отображается поверх полноэкранного приложения стороннего производителя? - PullRequest
1 голос
/ 07 сентября 2011

Я загрузил проект VS2010 в расположении ниже. Это тестовое приложение должно быть запущено после запуска полноэкранного приложения. Как только он запустится, у вас есть 2 секунды, чтобы вернуться в полноэкранное приложение. Он создает 2 немодальных диалоговых окна, используя полноэкранное приложение (которое должно быть последним окном, имеющим фокус) в качестве владельца диалоговых окон. Один диалог отображается, скрыт, второй диалог отображается, скрыт, а затем первый диалог отображается снова в цикле. Я обнаружил, что, когда первое диалоговое окно отображается во второй раз, появляется панель задач. Я провел 4 мучительных дня, пытаясь понять, что здесь происходит, и я отчаянно нуждаюсь в помощи.

Я получил некоторую помощь, в которой говорилось, что когда я вызываю DestroyWindow, чтобы скрыть диалоги, Windows фокусируется где-то - и в моем случае на панели задач. Ранее, когда я задавал этот вопрос, я не использовал полноэкранное приложение в качестве владельца моих окон. Я бы подумал, что фокус должен вернуться к окну владельца? Я также пытался вызвать SetFocus () и SetForegroundWindow () в полноэкранном приложении до вызова DestroyWindow в моем диалоговом окне - но, похоже, панель задач появляется каждый раз, и я этого не хочу.

Пожалуйста, помогите!

Пример проекта VS2010

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