Wie kann ich verhindern, dass sich die Fenster nach dem Aufwachen aus dem Schlaf neu positionieren?

116

Ich habe mein Multi-Monitor-System in den Ruhezustand versetzt, wenn es nicht verwendet wird. Nachdem ich es aufgeweckt habe, werden alle Fenster auf einen anderen Bildschirm verschoben. Das nächste Muster, das ich mir vorstellen kann, ist, dass die Fenster auf dem Hauptbildschirm auf den zweiten Bildschirm umschalten. Es sieht so aus, als würde der Hauptbildschirm vor dem Einschlafen getrennt, wodurch alle Fenster auf den 2. oder 3. Bildschirm umgeschaltet werden.

Bearbeiten: Hier ist die Grafikkarte, die ich verwende -> SAPPHIRE FleX 100322FLEX Radeon HD 6450

Kingamoon
quelle
1
Sie müssen die Grafikkarten angeben, die Sie verwenden. Dies ist wahrscheinlich deren Fehler.
Shinrai
3
Ich habe die endgültige Lösung dafür gefunden: Mach wie Stephen ( st99 ), sagt hier in der neunten Antwort
Soldeplata Saketos
Das gleiche Problem gibt es auf Kubuntu. Hat jemand eine Lösung dafür?
Waqleh
Als Antwort konnte ich keine hinzufügen, aber nachdem ich diese Antwort und diese Antwort gelesen hatte , stellte ich fest, dass es sich bei der Lösung um eine Manipulation von HKLM \ SYSTEM \ CurrentControlSet \ Control \ GraphicsDrivers \ Configuration handelte. Wenn alle zusätzlichen Monitore nicht angeschlossen sind, löschen Sie alle Schlüssel in diesem Pfad und starten Sie den PC neu. Beachten Sie den neuen Schlüssel, der diesem Pfad hinzugefügt wurde (A). Schließen Sie die Monitore wieder an und notieren Sie sich den neuen hinzugefügten Schlüssel (B). Richten Sie die gewünschten Anzeigeeinstellungen ein. Der neue Schlüssel wird erneut hinzugefügt (C). Jede Taste repräsentiert eine Anzeigekonfiguration. Löschen Sie den unerwünschten Schlüssel (wahrscheinlich Schlüssel B).
Neo

Antworten:

34

Das Problem liegt höchstwahrscheinlich beim Grafiktreiber. Wenn ein einzelner Monitor von einem Multimonitor-Setup in Windows getrennt wird, versucht Windows, alles von diesem Bildschirm auf die verbleibenden Bildschirme zu verschieben. Normalerweise tritt dies nicht auf, wenn der Computer angehalten / in den Ruhezustand versetzt / heruntergefahren wird. Dies liegt wahrscheinlich daran, dass der Grafiktreiber eine der folgenden Aktionen ausführt:

  • Trennen Sie die Monitore, wenn Sie den Computer in den Energiesparmodus versetzen. Wenn Windows also aufwacht, muss neu bestimmt werden, wo alles platziert werden soll.
  • Erkennen Sie die Monitore jedes Mal in einer anderen Reihenfolge, wenn Sie den Ruhezustand des Computers beenden, und zwingen Sie Windows, die Anwendungsfenster neu anzuordnen.

Überprüfen Sie auf der Website des Chipsatzherstellers, ob ein Update für Ihren Grafiktreiber verfügbar ist.

Tanaki
quelle
1
Zu Ihrer Information: Meine Treiber stammen von Intel, daher nahm ich an, dass sie mit Windows-Updates signiert und verteilt wurden, aber nicht.
Leo
1
Ähnliches Problem hier. Ich habe einen Dell-Laptop mit nVidia-Grafikadapter. Die Installation eines neueren Treibers von nVidia anstelle des Dell-Treibers hat das Problem behoben.
Chris Jones
1
ähnliches Problem hier. neuesten OEM Intel HD 4600 Treiber. Vielleicht sollte ich Treiber von PC Vendor (HP) überprüfen?
Falco Alexander
2
Das gleiche Problem mit einem 7i5bnk NUC - habe die neuesten Intel-Treiber
Niico
46

Dies ist eine alte Frage, aber wenn jemand mit dem gleichen Problem hier ankommt, schlage ich vor, die hier angegebene Lösung auszuprobieren:

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

Ich verwende Windows 8.1 mit zwei 2560 x 1440-Displays auf DisplayPort. Als ich aus dem Schlaf erwachte, waren alle meine Fenster auf einen Bildschirm geschoben worden, und einige von ihnen hatten die Größe geändert. Dies behebt das Problem für mich; jetzt sind alle meine Fensterpositionen und -größen erhalten. Hier ist der relevante Linkinhalt:

Ich habe eine Abhilfe gefunden. Unter Verwendung von Sysinternals ProcessMonitor stellte ich fest, dass Windows auf den folgenden Registrierungspfad zugreift:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration

Mein System hatte drei Einträge:

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

Unter jedem ist ein Baum genannt 00. Zwei der Schlüssel sind:

  • PrimSurfSize.cx
  • PrimSurfSize.cy

Unter 00war eine andere Niederlassung, die auch genannt wurde 00. Zwei der Schlüssel sind:

  • ActiveSize.cx
  • ActiveSize.cy

In den ersten beiden Konfigurationen (dh DELF00...& QHD3...) waren die oben genannten Schlüssel 1440 x 900, sodass sie nicht beteiligt waren.

Die dritte ( SIMULATED...) wurde auf 1024 x 768 festgelegt.

Ich habe diese auf 1600x900 geändert und das Problem wurde behoben.

Außerdem habe ich die Auflösung (über das Bedienfeld) auf 1920 x 1080 geändert. Das Problem mit dem Verschieben / Ändern der Größe wurde zurückgegeben, aber die untere rechte Ecke wurde auf 1600 x 900 eingestellt, dh die SIMULATED...Einstellungen.

Aus irgendeinem Grund wird eine der Konfigurationen nicht richtig eingestellt.

Ich weiß nicht warum es drei Configs gibt, ich habe immer nur einen Monitor benutzt.

John Freeman
quelle
15
Löschen Sie einfach das gesamte Verzeichnis HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ GraphicsDrivers \ Configuration. Es funktioniert ebenfalls und ist schneller.
FarO
3
Das Löschen des Eintrags funktioniert bei mir nicht (Windows 10). Sobald ich den Monitor ausgeschaltet habe, wird der Eintrag 'SIMULATED' erneut erstellt. Die ursprüngliche Lösung funktioniert (dh ändern Sie jedes Vorkommen von 1024.768 mit der tatsächlichen Auflösung).
FractalSpace
2
Hier ist ein weiterer Zusammenhang Beitrag habe ich auf Microsoft Answers for Windows 10. gefunden answers.microsoft.com/en-us/windows/forum/windows_10-hardware/...
Chiramisu
1
Das Löschen der gesamten Konfiguration, wie von @OlafM vorgeschlagen, funktioniert einwandfrei. In meinem Fall hat Windows etwa 30 Einträge. Nach dem Neustart wurde nur einer neu erstellt, der nur die Monitore enthält, die ich tatsächlich angeschlossen habe.
maja
1
Ich war nervös, weil ich alles im Konfigurationsordner gelöscht habe, aber ich habe zuerst einen Export durchgeführt und alles gelöscht, um das Problem zu beheben. Nach dem Fortsetzen musste ich die Monitorreihenfolge festlegen, und es scheint nicht behoben zu sein.
Drooh
13

Wenn Ihr Computer mit Intel HD Graphics ausgestattet ist, müssen Sie die Anzeigeerweiterungsoptionen (und Auflösungseinstellungen) in der Intel Graphics-Systemsteuerung festlegen. Wenn Sie dies in den Windows-Anzeigeeinstellungen tun, wird es zurückgesetzt, nachdem Sie es aus dem Ruhemodus geweckt haben.

Hier ist ein Screenshot.

Bildbeschreibung hier eingeben

bytestorm
quelle
Es hat nichts für mich geändert. Oder muss ich die Windows-Einstellungen vollständig löschen, bevor ich die Intel-Software verwende?
Christophe Drevet-Droguet
1
Es hat bei mir funktioniert, nachdem ich die Einstellungen zurückgesetzt und dann von der Intel-Grafik übernommen habe.
Tidhar Klein Orbach
Ich habe lediglich eine Option gewechselt und sie dann zurückgesetzt. Es aktiviert den "Apply" -Button und speichert die Konfiguration vom Treiber. Funktioniert hervorragend nach manueller Sperre. Ich werde sehen, was nach einer langen Zeit passiert
Aldian
Dies funktionierte für mich unter Windows 10 und rettete meinen Verstand.
Schuhmacher
9

Ich glaube, ich habe eine Problemumgehung für dieses Problem gefunden, indem ich die Ideen aus diesen Posts kombiniert habe .

(Mein PC ist Windows 10 TH2, Intel HD4600 mit HDMI-Anschluss, Changhong 4k-Monitor)

Hier ist der Ablauf.

  1. Löschen Sie alle zusätzlichen Registrierungseinträge unter ... GraphicDrivers \ Configuration und GraphicDrivers \ Connectivity. Lassen Sie nur den Eintrag, der meinem Monitor entspricht (MST00301 ...).

  2. Bevor Sie den Monitor in den Energiesparmodus versetzen, geben Sie einfach "WIN" + "D" ein, um alle Desktop-Fenster zu minimieren.

  3. Geben Sie nach dem Einschalten des Monitors erneut "WIN" + "D" ein, um alle Fenster wiederherzustellen.

Kang
quelle
1
Ich denke, Win + D wird nicht benötigt. Nach dem Löschen aller Einträge und dem Neustart des PCs wird der externe Monitor erneut zur Registrierung hinzugefügt. Danach scheint es wie erwartet zu funktionieren. Vielleicht war Windows von zu vielen verschiedenen Konfigurationen verwechselt. In meinem Fall hatte ich 12 Einträge und jetzt gibt es nur noch 2: maxrev.de/…
mgutt
Das hat bei mir funktioniert, aber erst nachdem der neue SIMULATED_ ... Schlüssel korrigiert wurde. Nach dem Neustart hatte ich zwei neue Einträge unter Konfiguration und Konnektivität. Der SIMULATED_ 00-Eintrag hatte 1024, 768 und 4096 Werte für cx, cy und stride, die falsch sind. Ich habe nur die Werte von dem anderen Schlüssel kopiert, der für meinen Monitor richtig zu sein schien, und neu gestartet. Ich habe einen einzelnen 40 "4K-Monitor, einen Wasabi Mango UHD400 und das Problem ist jetzt behoben.
Pixelgrease
Bei mir funktioniert der Win + D-Trick, auch ohne die Registrierung zu ändern, was nicht funktioniert hat. Beachten Sie, dass der Desktop nicht minimiert werden muss: Die Desktop-Symbole außerhalb des 1024 x 768-Felds werden nach dem Aus- und Einschalten des Monitors nicht verschoben. Auch bei maximierten Fenstern tritt das Problem der Größenänderung / Verschiebung nicht auf.
Roland
4

Nicht alle NVidia-Karten unterstützen die Fähigkeit, die EDID zu fälschen, und es ist nicht nur der Ruhezustand, der dieses Problem verursacht. Wenn ein Monitor ausgeschaltet wird oder die Verbindung kurz unterbrochen wird, kann dies bei einem sorgfältig konfigurierten Bildschirmlayout zu Schäden führen. Da hier keine der Lösungen für mich funktioniert hat, habe ich ein Hilfsprogramm geschrieben, um die Fensterpositionen wiederherzustellen, wenn sich die Anzahl der Monitore ändert. Es ist mit Quellcode zur Verfügung hier .

Garr Godfrey
quelle
1
Ich habe @ GarrGodfrey 's Programm getestet und es hat wie ein Zauber funktioniert.
Kita
2

In der Regel wird dies dadurch verursacht, dass der Grafiktreiber die Energiesparmodi nicht ordnungsgemäß unterstützt und daher die Erkennung eines angeschlossenen Bildschirms deaktiviert, wenn der Computer in den Energiesparmodus wechselt.

Aktualisieren Sie die Grafiktreiber des Herstellers, um das Problem zu beheben.

Wenn das Problem nach dem Aktualisieren der Treiber immer noch nicht behoben ist, liegt möglicherweise eine ungewöhnlich gemeldete Anzeige-ID (EDID) vor. Normalerweise können Sie die Erkennung eines Monitors über das Bedienfeld des Grafiktreibers erzwingen.

Wenn dies jedoch nicht verfügbar ist, können Sie das Windows-Auflösungsfenster verwenden, um Geräte zu erkennen, während der Monitor nicht angeschlossen ist. Wählen Sie dann die Anzeige aus, auf der "Andere Anzeige nicht angeschlossen" angezeigt wird. Wählen Sie dann unter "Mehrere Anzeigen" die Option "Versuchen zu" aus „Trotzdem verbinden“ sendet ein Signal über den von Ihnen ausgewählten Anschlusstyp an den Monitor (das Signal ist nicht interaktiv). Schließen Sie dann das Display an, das die an den Monitor gesendeten Signale richtig interpretieren soll.

Die erzwungene Auflösung setzt die Erkennung des Bildschirms außer Kraft und sollte auch im Ruhezustand bestehen bleiben.

WinOutreach2
quelle
2

Gleiches Problem hier mit Windows 8.1 und Macbook Air 2013 (Intel HD Graphics 5000). Ich versuche alles Schließlich ging ich zu Intel, das mit den spätesten Treibern für meine Grafikkarte aktualisiert wurde und das Problem fährt fort. Dann ging ich zur Grafik-Eigenschaft und wählte bei aktiviertem zweiten Bildschirm in der Mehrfachanzeige "Diesen Bildschirm trennen". Nachdem der zweite Bildschirm getrennt wurde, wählte ich "Desktop erweitern" und das Problem verschwand. Ich hoffe, das funktioniert für Sie.

Andrew
quelle
Ich habe auch ein Macbook Air 2013 mit den neuesten Treibern und das hat mein Problem nicht gelöst. Hast du irgendwelche Ideen, wie ich es lösen kann?
Andrew
2

In meinem Fall mit drei horizontal angeordneten 1920x1080-Monitoren scheint dies behoben worden zu sein, indem der in anderen Antworten ( HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration) erwähnte Registrierungsschlüssel gesucht und der Schlüssel beginnend mit SIMULATEDund dann alle Werte von 1920 unter diesem Schlüssel in 5760 (1920) geändert wurden mal drei, für die drei Monitore).

Ich vermute, der SIMULATEDSchlüssel wird verwendet, wenn der PC in den Energiesparmodus wechselt, aber Windows muss weiterhin einen Desktop verwalten, um in den Energiesparmodus zu wechseln bzw. den Energiesparmodus wieder aufzunehmen, auch wenn sich die tatsächlichen Monitore möglicherweise noch nicht selbst melden.

Wmassingham
quelle
Das hat mir am meisten geholfen. Ihr zweiter Absatz scheint besonders richtig zu sein. Obwohl ich immer noch Fenster auf andere Monitore verschieben muss, wenn der Bildschirm ausgeschaltet ist.
Andrew
1

Für mich war das Update https://superuser.com/a/908156/238666 . Zusammenfassung: Windows kann die EDID-Informationen beim Aufwecken nicht vom Monitor lesen. In der Nvidia-Systemsteuerung können Sie die EDID-Informationen in einer Datei speichern und den PC so einstellen, dass er sie aus dieser Datei liest. Klicken Sie dazu auf Task: Workstation, System anzeigen Topologie, EDID-Quelle.

In meinen Augen könnte das Hauptproblem die Nvidia-Karte sein, aber auch Windows, DisplayPort oder der Monitor (Lenovo X1 4K).

Roland
quelle
-1

Gefällt mir oder nicht, aber laut Dell bekanntes Problem mit bestimmten 4k-Monitoren Link: http://www.dell.com/support/Article/us/en/19/SLN295708/EN Ich musste von 59/60 Hz auf 30 Hz umschalten auf meinem 3 x Dell P2415Q 4K UHD auf Intel 4600 mit dem Display der Lager DP / mDP verbunden und es hat mir geholfen - wie Dell KB-Artikel sagt. Dies gilt auch für UP3214Q und P2715Q.

Das Problem trat bei QHD Dell U2515H + mit niedrigerer Auflösung und demselben Video / PC nicht auf

Das Entfernen von Registrierungsschlüsseln und Treiberaktualisierungen halfen nicht.

Update 2018/08: Ein Upgrade der Grafikkarte auf NVIDIA Quadro P600 behebt das Problem nicht. Bleiben Sie also bei 30 Hz.

kuz8
quelle
1
Urgh, 30Hz ist schrecklich zu bedienen, so stotternd.
Simon East
@SimonEast, es ist ein Jahr her, seit ich diese Antwort gepostet habe und diese 4K-s in 30Hz verwende, empfindlich gegenüber Leuchtstofflampen und LED-Flimmern und wenn möglich DC 12V Halogenbeleuchtung bevorzuge, würde ich sagen, dass 30Hz auf diesen 4K Dell-Monitoren in Ordnung sind . Youtube Aktion vids ist relativ glatt, aber ich verwende meist diese Bildschirme für Code, Terminals, E - Mails und Chats - nicht das Gefühl , müde nach 10-12 Stunden pro Tag ..
kuz8