Операционные системы становятся все сложнее и сложнее. В принципе, все в нашем мире постепенно усложняется. А чем сложнее становится система, тем меньше у нее надежность. Просто по определению. А чем меньше надежность, тем выше вероятность сбоя. Операционная система Windows 11 на текущий момент является вершиной технологий Microsoft. Она обладает уймой возможностей и функций, некоторые из которых периодически сбоят. Не минула сия чаша и меня. После установки свежей копии Windows 11 Pro на чистый компьютер столкнулся с интересной проблемой: после отключения экрана для экономии энергии или после ухода компьютера в сон и последующим возвращением активной сессии на рабочий стол все приложения, окна которых развернуты на полный экран, оказываются скукоженными до неприлично малого размера. Ничего критичного, так как приложения можно развернуть, но жутко неудобно.
Ранее с такой проблемой сталкиваться не приходилось, поэтому пришлось провести углубленное изучение пучин интернетов для поиска способов устранения хоть и не критичного, но сбоя. Обычно обращение к официальной документации к операционной системе или поиск на официальных форумах ни к чему хорошему не приводит. Все сводится к банальной перезагрузке устройства или же переустановке системы. Явно не мой способ.
Впервые, по крайней мере в бытность широкого доступа пользовательских масс в интернет, описываемая проблема была описана на рубеже 2010–2011 годов. И происходила она с видеоадаптерами ATI (ныне это AMD). Эпидемия сворачивающихся окон продлилась недолго, года 2. После чего сообщения на эту тему исчезли. Вероятно, что проблема была вызвана некой несовместимостью драйверов видео и операционной системы. Повторно тема возобновилась на излете 2023 года. Вероятно, что разработчик из AMD переметнулся в NVidia и притащил туда свой, не совсем корректно работающий код, который и был интегрирован в драйвера видеоадаптера. А может быть, просто стечение обстоятельств и проблема на стороне Microsoft.
Несмотря на то, что у меня видео от NVidia, проблема полностью повторилась. Обидно, свежая установка, надо как-то неудобство устранять.
Пользователи, столкнувшиеся с незапланированным изменением размера окон после разблокирования рабочего стола после сна компьютера или просто перехода монитора в режим сбережения энергии, активно обменивались мнениями. Как и в моем случае, атаке изменения размера подвергались лишь приложения, чьи окна были развернуты на весь рабочий стол. А свернутые в трей или с не максимизированным размером окна оставались в своих привычных размерах. Кстати, аналогичная проблема возникает и при переключении пользователей на ПК.
Предложений и гипотез было обсуждено много, но коллективным разумом удалось-таки докопаться до конкретного места, где и порылась изюминка. Ей оказалась ветка реестра, предназначенная для настроек видеоадаптера Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration\
. В ней операционная система хранит настройки для каждого из мониторов, включая виртуальные устройства (например, различные варианты удаленного доступа к рабочему столу).
Важно: одному монитору соответствует только одна группа параметров. На скриншоте видно, что группа имеет уникальный идентификатор из множества цифр и букв, а начинается с SAMS
. Собственно, это и есть мой монитор Samsung. Он у меня единственный, но записей у меня было аж 5 штук. В ключах группы содержится некоторый набор ключей, отвечающих за настройки разрешения монитора. В моем случае это 3440х1440 пикселей. Однако данный режим был установлен далеко не на всех группах. Поэтому при «просыпании» монитора Windows пыталась применить наиболее подходящую группу и промахивалась. Для приложений устанавливалось низкое разрешение, что-то типа 1024х768, развернутые приложения скукоживались, затем происходило переключение на родное расширение, а приложения так и оставались сжатыми до минимума. Причем свернутые приложения оставались в нормальных размерах, но об этом ниже.
Решение довольно простое. Удалить все группы настроек мониторов. Операционная система пересоздаст их заново в соответствии с актуальными режимами. Или, как альтернатива, поправить все разрешения руками. Но удаление существенно проще. На этом проблема с изменением размера окон после входа на рабочий стол исчезает, если нет другого какого-либо программного обеспечения, которое портит настройки.
В качестве еще одной альтернативы можно рассмотреть отдельный программный продукт, который будет сворачивать все развернутые окна, как только рабочий стол блокируется (при смене пользователя, отключении монитора или сне он должен блокироваться). Такие продукты еще встречались в 2011 году, а вот в 2025 их обнаружить не удалось. Поэтому придется что-то изобретать.
Но а что делать, когда в системе несколько мониторов?
Microsoft все продумали и сделали специальные настройки для мультимониторного режима.
В таком случае на каждый из мониторов в реестре должна присутствовать своя группа ключей. Плюс в самой операционной системе для пользователя доступны две настройки в настройках дисплея. Отвечают они за запоминание положения окна на конкретном мониторе при его подключении и за минимизацию окон при его отключении. В этом случае минимизация позволяет изменить размер окна при насильственном его переносе на рабочий стол на другом мониторе.