Кто-нибудь заметил это странное поведение приложений, использующих D3D или OpenGL, когда они переходят на полноэкранный режим в Windows? Это применимо только тогда, когда приложения переходят в полноэкранный режим, а затем переключаются обратно в окно или завершают работу. Они либо перемещают положения окон других приложений (когда я на компьютере с одним монитором), либо перемещают окна всех других приложений на другой экран, когда я на компьютере с несколькими мониторами.
Я бы воспринял это как должное, если бы не приложения, которые не показывают эти две аномалии. Итак, мой вопрос будет о том, что именно нужно позаботиться при написании приложения, чтобы облегчить эти две проблемы? Кроме того, я не уверен, существует ли эта проблема на других платформах, кроме Windows?
Моя основная настройка по этому поводу - OpenGL / C ++, но я предполагаю, что это применимо к любой вашей настройке, так как она кажется платформой API, о которой нужно позаботиться.
edit : Хорошо, вот еще несколько разъяснений по поводу моего наблюдения. Проблема сохраняется даже при том же разрешении, что и у настольного компьютера. Таким образом, похоже, что это не связано с переключением разрешения, потому что я видел приложения / игры, которые, даже если они не имеют такое же разрешение, как настольный компьютер, когда они переключаются обратно, окна на рабочем столе восстанавливаются, как они были до было запущено полноэкранное приложение.
edit2 : похоже, это проблема переключения разрешения, Windows (по крайней мере, XP), похоже, не помнит положения и размер (в случае настройки нескольких мониторов) окон приложений. Похоже, единственное решение - это то, которое я предоставил в ответе на вопрос - даже если кажется, что ОС должна предоставить что-то, по крайней мере, в виде вызова API или двух. Я до сих пор не убежден, что это единственное решение, должен быть легкий способ изящного, легкого восстановления, нет?