Как я могу остановить перемещение окон после пробуждения от сна?


116

Я уложил систему с несколькими мониторами в спящий режим, когда она не используется. После того, как я проснулся, все окна переместились на другой экран. Самый близкий образец, который я могу придумать, состоит в том, что окна, которые были на главном экране, переключаются на второй экран. Похоже, что он отключает главный экран, прежде чем он переходит в спящий режим, который в свою очередь переключает все окна на 2-й или 3-й экран.

Изменить: Вот видеокарта, которую я использую -> SAPPHIRE FleX 100322FLEX Radeon HD 6450


1
Вам нужно указать используемые вами графические адаптеры, возможно, это их вина.
Шинрай

3
Я нашел окончательное решение этого вопроса: делай, как Стефан, ( st99 ), говорит здесь, в девятом ответе
Soldeplata Saketos

та же проблема на kubuntu, у кого-нибудь есть решение для этого?
Вакле

Невозможно добавить в качестве ответа, но, прочитав этот ответ и этот ответ , я обнаружил, что решение состоит в манипулировании HKLM \ SYSTEM \ CurrentControlSet \ Control \ GraphicsDrivers \ Configuration. Когда все дополнительные мониторы отключены, удалите все ключи по этому пути и перезагрузите компьютер. Обратите внимание на новый ключ, добавленный к этому пути (A). Подключите мониторы и обратите внимание, что добавлен новый ключ (B). Настройте параметры дисплея по своему усмотрению. Новый ключ будет добавлен снова (С). Каждый ключ представляет конфигурацию дисплея. Удалите нежелательный ключ (возможно, ключ B).
Нео

Ответы:


34

Проблема, скорее всего, с графическим драйвером. Всякий раз, когда один монитор отключается от настройки нескольких мониторов в Windows, Windows будет пытаться переместить все с этого экрана на оставшиеся экраны. Обычно это не происходит при приостановке / спящем режиме / выключении компьютера. Таким образом, это возможно из-за того, что графический драйвер выполняет одно из следующих действий:

  • «Отключайте» мониторы, когда вы переводите компьютер в спящий режим, поэтому, когда Windows просыпается, она должна заново определить, где все разместить.
  • Каждый раз, когда вы выводите компьютер из спящего режима, распознавание мониторов происходит в другом порядке, что заставляет Windows переставлять окна приложений.

Проверьте, есть ли обновление вашего графического драйвера, зайдя на сайт производителя чипсета.


1
К вашему сведению: мои драйверы от Intel, поэтому я предположил, что они были подписаны и распространены с помощью обновлений Windows, но это не так.
Лев

1
Подобная проблема здесь. У меня ноутбук Dell с графическим адаптером nVidia. Установка более нового драйвера от nVidia вместо драйвера Dell устранила проблему.
Крис Джонс

1
Подобная проблема здесь. последние OEM драйверы Intel HD 4600. может мне стоит проверить Драйверы от ПК Vendor (HP)?
Фалько Александр

2
Та же проблема с 7i5bnk NUC - получил последние драйверы Intel
niico

46

Это старый вопрос, но если кто-то прибудет сюда с той же проблемой, я предлагаю попробовать решение, опубликованное здесь:

http://answers.microsoft.com/en-us/windows/forum/windows_7-hardware/windows-7-movesresizes-windows-on-monitor-power/1653aafb-848b-464a-8c69-1a68fbd106aa

Я использую Windows 8.1 с двумя дисплеями 2560x1440 на DisplayPort. Просыпаясь ото сна, все мои окна были сдвинуты на один дисплей, а некоторые из них были изменены. Это решает проблему для меня; теперь все мои положения и размеры окон сохранены. Вот соответствующее содержание ссылки:

Я нашел обходной путь. Используя Sysinternals ProcessMonitor, я обнаружил, что Windows получает доступ к следующему пути реестра:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration

В моей системе было три записи:

  • DELF003YY7707BR0MUL_30_07D7_6A^9A3774EB79DEE3E3E38496CC7DF4D936
  • QHD32000001_31_07D6_D5^63E1ABDD175E7871DCAEB710418A0F75
  • SIMULATED_8086_2A42_00000000_00020000_1010100^CDE365D1B3F0942F0CF38BFB8E127AB4

Под каждым дерево называется 00. Два из ключей:

  • PrimSurfSize.cx
  • PrimSurfSize.cy

Под 00был еще один филиал также называется 00. Два из ключей:

  • ActiveSize.cx
  • ActiveSize.cy

В первых двух конфигах (т.е. DELF00...& QHD3...) вышеприведенные ключи были 1440x900, поэтому они не были задействованы.

Третий ( SIMULATED...) был установлен на 1024x768.

Я изменил их на 1600x900, и проблема была решена.

Далее я изменил разрешение (через панель управления) на 1920x1080, проблема с перемещением / изменением размера вернулась, но в нижнем правом углу было установлено значение 1600x900, то есть SIMULATED...настройки.

Так что по какой-то причине один из конфигов не настроен правильно.

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


15
Просто удалите весь файл HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ GraphicsDrivers \ Configuration, он также работает и работает быстрее.
FarO

3
Удаление записи не работает для меня (Windows 10). Как только я выключил монитор, запись «SIMULATED» снова создается. Оригинальное решение работает (т. Е. Изменить каждое вхождение 1024 768 с фактическим разрешением).
FractalSpace

2
Вот еще один похожий
Chiramisu

1
Удаление всей конфигурации, как предложено @OlafM, работает отлично. В моем случае в Windows около 30 записей. После перезагрузки был воссоздан только один, содержащий только те мониторы, которые я фактически подключил int.
Maja

1
Я нервничал по поводу удаления всего в папке «Конфигурация», но сначала я выполнил экспорт, и удаление всего устранило проблему, после возобновления я должен был установить порядок монитора, и он, похоже, не исправлен.
drooh

13

Если на вашем компьютере установлена ​​Intel HD Graphics, вы должны установить параметры расширения дисплея (и разрешения) с панели управления графикой Intel. Если вы сделаете это из настроек дисплея Windows, он будет сброшен после выхода из спящего режима.

Вот скриншот.

введите описание изображения здесь


Это ничего не изменило для меня. Или я должен полностью стереть настройки Windows, прежде чем делать это с программным обеспечением Intel?
Кристоф Древет-Дрогует

1
Это сработало для меня после того, как я сбросил настройки и затем применил из графики Intel.
Тидхар Кляйн Орбах

Я просто переключил какую-то опцию и затем вернул ее обратно. Он активировал бутон «применить» и сохранил конфигурацию из драйвера. Прекрасно работает после ручной блокировки. Я посмотрю, что произойдет после долгого периода
Алдиан

Это работало для меня на Windows 10 и спасло мое здравомыслие.
Shoelzer

9

Я думаю, что нашел решение этой проблемы, объединив идеи из этих постов .

(мой компьютер - Windows 10 TH2, Intel HD4600 с портом HDMI, монитор Changhong 4k)

Вот процедура.

  1. Удалите все дополнительные записи реестра в разделе ... GraphicDrivers \ Configuration и GraphicDrivers \ Connectivity, оставив только запись, соответствующую моему монитору (MST00301 ...)

  2. Перед переводом монитора в спящий режим просто нажмите комбинированную клавишу «WIN» + «D», чтобы свернуть все окна рабочего стола.

  3. После включения монитора снова наберите «WIN» + «D», чтобы восстановить все окна.


1
Я думаю, что Win + D не нужен. После удаления всех записей и перезагрузки компьютера внешний монитор снова добавляется к регистрации. После этого, похоже, работает как положено. Может быть, окна были перепутаны с различными конфигурациями. В моем случае у меня было 12 записей, а сейчас их всего 2: maxrev.de/…
mgutt

Это сработало для меня, но только после исправления нового ключа SIMULATED_ .... После перезагрузки у меня появилось две новые записи в разделе «Конфигурация и связь». Запись SIMULATED_ 00 имела значения 1024, 768 и 4096 для значений cx, cy и шага, что неверно. Я скопировал только те значения из другого ключа, который оказался правильным для моего монитора, и перезагрузил компьютер. У меня есть один 40-дюймовый монитор 4K, Wasabi Mango UHD400, и проблема теперь исправлена.
pixelgrease

Для меня трюк Win + D работает, даже без изменения реестра, который не работал. Обратите внимание, что рабочий стол не нужно свернуть: значки рабочего стола, находящиеся за пределами поля 1024x768, не будут перемещаться после выключения и повторного включения монитора. Кроме того, развернутые окна не страдают от проблемы изменения размера / перемещения.
Роланд

4

Не все карты NVidia поддерживают возможность подделки EDID, и эта проблема возникает не только из-за сна. Если монитор отключается или кратковременно отключается, он может нанести ущерб тщательно настроенной компоновке экрана. Поскольку ни одно из решений здесь не сработало для меня, я написал утилиту для восстановления позиций окна при изменении количества мониторов. Он доступен с исходным кодом здесь .


1
Я протестировал программу @GarrGodfrey, и она работала как шарм.
Кита

2

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

Обновите драйверы видеокарты от производителя, чтобы решить эту проблему.

Если проблема все еще не решена после обновления драйверов, это может быть связано с необычно отображаемым идентификатором дисплея (EDID). Обычно вы можете принудительно обнаружить монитор на панели управления графического драйвера.

Однако, если это недоступно, вы можете использовать окно «Разрешение Windows» для обнаружения устройств, когда монитор отключен, затем выберите дисплей, на котором будет отображаться «Другой дисплей не подключен», затем в разделе «Несколько дисплеев» вы можете раскрыться и выбрать «Попробуйте подключиться в любом случае », который будет транслировать сигнал на монитор через выбранный вами тип порта (сигнал не будет интерактивным), затем подключите дисплей, который должен правильно интерпретировать передаваемые ему сигналы.

Принудительное разрешение отменяет обнаружение экрана и должно сохраняться в течение сна.


2

Та же проблема здесь с Windows 8.1 и Macbook Air 2013 (Intel HD Graphics 5000). Я стараюсь все. Наконец, я пошел в Intel с обновленными версиями драйверов для моей видеокарты, и проблема не исчезла. Затем я перешел к свойству graphics: при включении второго дисплея в режиме Multiple Display я выбираю «Отключить этот дисплей», затем после отключения второго дисплея я выбираю «Расширить рабочий стол», и проблема исчезает. Надеюсь, что это работает для вас.


У меня также есть Macbook Air 2013 с последними драйверами, и это не решило мою проблему. У вас есть идеи, как я могу решить это?
Андрей

2

В моем случае, с тремя мониторами 1920x1080, расположенными горизонтально, кажется, что это было исправлено путем перехода к ключу реестра, указанному в других ответах ( HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration), поиска ключа, начиная с SIMULATED, затем изменения всех значений 1920 для этого ключа на 5760 (1920 раз три, для трех мониторов).

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


Это то, что помогло мне больше всего. Ваш второй абзац особенно кажется правильным. Хотя у меня все еще окна переходят на другие мониторы, когда экран выключен.
Эндрю

1

Для меня исправление было https://superuser.com/a/908156/238666 . Описание: Windows не может прочитать информацию EDID с монитора при пробуждении, и в панели управления Nvidia вы можете сохранить информацию EDID в файл и настроить компьютер для чтения этой информации из этого файла в разделе «Задача: рабочая станция, просмотр системы». Топология, источник EDID.

На мой ограниченный взгляд, проблема может быть связана с картой Nvidia, но также с Windows, DisplayPort или монитором (Lenovo X1 4K)



-1

Как ни крути, но в соответствии с известной проблемой Dell со специфической ссылкой на мониторы 4k: http://www.dell.com/support/Article/us/en/19/SLN295708/EN Мне пришлось переключиться с 59/60 Гц на 30 Гц на моем 3 x Dell P2415Q 4K UHD на Intel 4600, подключенном к стандартному DP / mDP дисплея, и это мне помогло - как говорится в статье Dell KB. Это относится и к UP3214Q и P2715Q.

Проблема не проявляется на более низком разрешении QHD Dell U2515H + то же видео / ПК

Удаление ключей реестра и обновление драйверов не помогали.

Upd 2018/08: и обновление видеокарты до NVIDIA Quadro P600 не решило проблему, поэтому оставалось на частоте 30 Гц.


1
Ух, 30 Гц ужасно использовать, так что заикаться.
Саймон Ист

@SimonEast, уже год, как я опубликовал этот ответ и использую эти 4K-ы в 30 Гц, будучи чувствительным к флуоресцентному и светодиодному мерцанию и предпочитая галогенное освещение 12 В пост. ,
Видео-
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.