In Windows 10 ist das Ziehen von pseudomaximierten Fenstern nicht mehr möglich. gibt es eine lösung

12

Unter Windows 10 kann ich ein Fenster, das pseudomaximiert ist, nicht mehr verschieben. Beispielsweise muss ein Remotedesktopfenster, das auf seine maximale Größe von 1280 x 1024 (pro meiner RDP-Datei) "maximiert" ist, auf eine kleinere Größe wiederhergestellt, dann gezogen und dann wiederhergestellt werden, obwohl das Fenster selbst nicht auf die Größe "maximiert" ist Arbeitsbereich des Monitors. Dies war zuvor in Windows 8.1 (oder anderen Windows-Versionen) kein Problem.

Ich habe meine Due Diligence mit einigen Nachforschungen durchgeführt. Hier sind einige Dinge, die ich untersucht und als nicht ursächlich oder hilfreich befunden habe:

  • AeroSnap-Einstellungen oder -Verfügbarkeit von Windows
  • Grafiktreiberfunktionen oder -einstellungen
  • Andere Monitor- oder Taskleistendienstprogramme von Drittanbietern

Jede Software, die auf diese Weise maximiert wurde, ist gesperrt und muss wiederhergestellt werden, bevor ich sie jetzt ziehen kann, einschließlich des oben genannten Remotedesktops, einiger Spiele, die ich im Fenstermodus spiele usw. Andere Anwendungen, die natürlich nicht maximiert sind, tun dies nicht habe dieses Problem.

Eine Testanwendung kann in .NET erstellt werden, um dieses Problem zu veranschaulichen. Erstellen Sie einfach eine WinForms-Anwendung mit Form.MaximizedBounds mit einem beliebigen Wert wie 500.500 und lassen Sie das Formular beim Start maximieren (Form.WindowState = Maximized). Unter Windows 8.1 (und früher) kann es problemlos über den Bildschirm gezogen werden, unter Windows 10 jedoch nicht.

Weiß jemand was es gibt und ob es irgendwelche Workarounds gibt?

psouza4
quelle
Ich scheine in der Lage zu sein, Fenster mit fester Größe problemlos auf meinem Windows 10-Computer zu ziehen. Verwenden Sie einen einzelnen Monitor pro Chance? Weil ich Vielfache benutze.
Arthur Kay
Dies ist ein dreifaches Monitor-Setup, das horizontal angeordnet ist (wie unter Windows 8.1). Ich freue mich über Vorschläge zu Sachen zum Ausprobieren. Beachten Sie, dass Probleme mit fester Größe nicht das Problem sind, sondern speziell ein Problem mit maximierten Fenstern.
psouza4
Nur um sich einzuloggen. Windows 10 maximiert RDP auf seine eingeschränkte Größe. Ich kann es verschieben.
Unfundednut
Dies ist eine saubere Windows 10-Installation (kein Upgrade) von einem frisch formatierten Laufwerk mit den meisten Standardeinstellungen und nVidia-Anzeigetreibern über GeForce-Erfahrung unter Verwendung der Standardeinstellungen. Wenn Sie eine Einstellung vorschlagen können, die ich anpassen kann, um das Problem zu beheben, geben Sie bitte eine Antwort, damit ich das Kopfgeld verifizieren und gewähren kann.
psouza4
1
Zu Ihrer Information Ich habe eine .NET Windows Forms-Anwendung mit erstellt MaximizedBounds = new Rectangle(500,500, 500, 500); WindowState = FormWindowState.Maximized;und kann sie aus dem maximierten Modus ziehen. Das Fenster wird sofort normalisiert und bewegt sich dorthin, wo ich es haben möchte. (.NET 4.6)
Mik

Antworten:

2

Ich weiß, dass dies ein altes Thema ist, das mich seit dem Umstieg auf Windows 10 geplagt hat und das ich gerade letzte Nacht gelöst habe. Also beantworte ich das, um möglicherweise anderen Leuten zu helfen.

Erstens meine Situation. Ich verwalte ungefähr 16 Server von meinem Heimbüro aus. Ich habe für jeden Server gespeicherte RDP-Verbindungen zu meinem Desktop erstellt. Ich logge mich jeden Tag auf jedem Server mit diesen Verbindungen ein, um Protokolle, den Hardwarestatus usw. zu überprüfen. Ich mache sie alle auf einmal, sodass mindestens einmal am Tag 16 RDP-Fenster gleichzeitig geöffnet sind. Das ständige Verkleinern und Einrasten am Bildschirmrand machte mich wahnsinnig!

Hier ist, was ich getan habe, um es zu beheben ...

Wenn Sie mit der rechten Maustaste auf jede gespeicherte RDP-Verbindung klicken und "Öffnen mit" und dann "Editor" auswählen, gelangen Sie zu einer Nur-Text-Datei, die die RDP-Verbindung definiert (im Gegensatz zum typischen GUI-RDP-Eigenschaftenfenster). Bei jeder meiner gespeicherten Verbindungen habe ich die folgenden 4 Parameter geändert: Bildschirmmodus-ID, Desktopbreite, Desktophöhe und winposstr! So sehen sie auf einer meiner typischen gespeicherten RDP-Verbindungen aus:

screen mode id:i:1
desktopwidth:i:1280
desktopheight:i:1024    
winposstr:s:0,3,1575,160,2900,1230

Die Bildschirmmodus-ID muss auf 1 gesetzt sein. Dadurch wird die Remote-Sitzung in einem Fenster angezeigt.

Breite und Höhe des Desktops sind selbsterklärend. Sie können jedoch beliebig lang sein, solange sie kleiner sind als der Bildschirm, auf dem Sie sie anzeigen.

Winposstr ist das Wichtige. Wenn Sie Ihre gespeicherte RDP-Verbindungsdatei öffnen, sind der fünfte und sechste Wert dieses Parameters im Vergleich zum dritten und vierten Parameter viel kleiner als in meinem Beispiel. Du musst die letzten beiden Werte bearbeiten ... mach sie größer! Damit das RDP-Fenster in voller Größe geöffnet wird, müssen Sie die dritte und vierte Zahl mit der gewünschten vertikalen und horizontalen Auflösung (plus ein bisschen mehr) versehen. Also 1575+1280=2855. Wenn Sie genau diese Zahl für den fünften Wert eingeben, erhalten Sie weiterhin Bildlaufleisten. In diesem Fall habe ich auf meinem System 2900 eingegeben. Ebenso 160 + 1024 = 1184. 1200 gab mir immer noch Bildlaufleisten, also habe ich 1230 ausprobiert, und es hat funktioniert.

Ich habe mir noch nicht die Zeit genommen, herauszufinden, was die dritte und vierte Zahl genau bedeuten. Es ist offensichtlich, dass sie irgendwie die Position des Fensters auf meinem Bildschirm definieren, aber ich habe diese genaue Beziehung einfach nicht herausgefunden. Und diese Zahlen werden wahrscheinlich für Sie unterschiedlich sein ... Wenn Sie Ihre eigene RDP-Verbindungsdatei speichern, werden sie wahrscheinlich variieren, weil Sie ein anderes Setup haben als ich. Der Punkt ist jedoch, dass Sie die horizontale und vertikale Auflösung Ihres gewünschten RDP-Fensters zur dritten und vierten Zahl addieren müssen, unabhängig davon, was sie sind, PLUS ein bisschen mehr, und dann die fünfte und sechste Zahl durch die Ergebnisse ersetzen müssen, die Sie erhalten!

Sobald Sie die Änderung vorgenommen haben, speichern Sie die Datei und schließen Sie sie. Wenn Sie dann auf diese RDP-Verbindung doppelklicken, sollte sie in voller Größe geöffnet sein und an die gewünschte Position gezogen werden können, ohne automatisch verkleinern zu müssen.

Auf meinem System ist die linke obere Ecke der RDP-Sitzung, die durch die obigen Parameter definiert wird, 0 Pixel vom oberen Bildschirmrand und 3 Pixel vom linken Rand entfernt. Sie können die Anfangsposition ändern, indem Sie diese Werte bearbeiten. 10,10 setzt sie beispielsweise 10 Pixel nach unten und 10 von links. Wenn Sie diese Werte addieren, müssen Sie AUCH die Werte 5 und 6 addieren. Wie gesagt, ich habe die genaue Beziehung noch nicht herausgefunden. Wenn Sie diese ändern, müssen Sie möglicherweise auch den 5. und 6. Wert erhöhen, um Bildlaufleisten zu vermeiden.

Schließlich ist auf meinem System der Parameter "Verhindern, dass Windows beim Verschieben an den Bildschirmrand automatisch angeordnet wird" deaktiviert (dies befindet sich im Abschnitt "Erleichtern der Verwendung der Maus" des Ease of Access Centers).

ACL3
quelle
Willkommen bei Super User. Wenn Sie Ihre Antwort lesen, ist klar, dass Sie eine funktionierende Lösung haben, aber Super User ist eine Q & A-Site (im Gegensatz zu einem Forum), und es wird erwartet, dass Antworten Gesprächsdetails vermeiden. Bitte bearbeiten Sie Ihre, um sich mehr auf die spezifischen Schritte zu konzentrieren, die zur Implementierung Ihrer Lösung erforderlich sind. Zu viele Details erschweren es anderen Benutzern, Ihre Antwort zu verwenden. Vielen Dank für Ihren Beitrag.
Ich sage Reinstate Monica
Leider ist dies auch keine akzeptable Lösung für das beschriebene Problem, das spezifisch für Windows 10 und nicht für Terminaldienste / Remotedesktop ist. Während das Problem bei RDP-Sitzungen auftritt, tritt es auch bei anderen Apps auf (wie in meinem Beitrag beschrieben). Darüber hinaus ist die Einstellung "Fenster an ... hindern" in Ihrem Kommentar Teil von AeroSnap, die bereits erläutert wurde. Möglicherweise haben Sie eine Problemumgehung für eine Anwendung (RDP-Sitzungen) festgestellt, aber es werden nicht viele andere behoben, die ebenfalls pseudomaximiert sind und daher nicht akzeptiert werden können. Vielen Dank für den ausführlichen Versuch.
psouza4
0

Zunächst einige Hintergrundinformationen. Ich verwende oft mehrere RDP-Sitzungen, um gleichzeitig eine Verbindung zu verschiedenen Remote-Systemen herzustellen. Jedes RDP-Fenster ist auf meinem System mit zwei Monitoren (1920 x 1080) auf 1280 x 768 konfiguriert.

Wenn ich unter Win 10 eine RDP-Version öffne, bleibt das mit Pseudomaximierung maximierte Fenster in der oberen linken Ecke hängen und kann nicht an eine beliebige Stelle gezogen werden. Wie Sie berichteten, verhielten sich RDP-Fenster unter Win 7 und 8 anders.

Ich habe jedoch kürzlich eine Problemumgehung entdeckt.

"Unmaximieren" Sie unter Windows 10 nach dem Öffnen einer RDP-Sitzung das RDP-Fenster. Mit horizontalen und vertikalen Bildlaufleisten wird die Größe halbiert. Ändern Sie die Größe des halbgroßen RDP-Fensters manuell, bis die Bildlaufleisten ausgeblendet sind. Jetzt können Sie das manuell "pseudomaximierte" RDP-Fenster überall hin ziehen, genau wie Sie es unter Win 7 und 8 tun könnten. Seien Sie jedoch vorsichtig. Wenn Sie versehentlich auf die Titelleiste doppelklicken, springt das RDP-Fenster zurück in die linke obere Ecke, wird automatisch "pseudomaximiert" und ist wieder unbeweglich.

Obwohl dies kein perfekter Workaround ist, kann ich ihn tolerieren.

cc8772850
quelle
Diese Antwort behebt das Problem nicht mit allen pseudomaximierten Fenstern. Sehen Sie sich meinen ursprünglichen Beitrag mit einer Beispielanwendung an, die nichts mit RDP-Sitzungen und anderen Kommentaren zu tun hat. Der Fokus liegt nicht auf RDP-Sitzungen.
psouza4
-1

Wenn ich Ihren Kommentar als die genaueste Information betrachte, haben wir eine Situation, in der die Fenstergröße beim Verschieben nicht den maximierten Zustand beibehält, Sie jedoch nicht dazu verpflichtet sind, sie zuerst zu minimieren, wie ursprünglich in der Frage angegeben.

Unter der Annahme, dass das oben Gesagte zutrifft, zieht der Workflow, den ich in einem Multi-Monitor-Setup (das unter Windows 7, 8 und 10 funktioniert) verwende, das maximierte Fenster von seinem aktuellen Standort (wodurch das Fenster auf eine kleinere Größe verkleinert wird). oben auf dem anderen Bildschirm, wodurch das Fenster wieder in den maximierten Zustand versetzt wird. Dies funktioniert auch, um ein Fenster zu maximieren, das noch nicht maximiert ist.


Wenn dies keine akzeptable Problemumgehung ist und Sie mit den Optionen unter Multitasking> Snap nicht mehr genug experimentiert haben, wird möglicherweise eine Registrierungsbearbeitung durchgeführt. In Windows 8 und 10 ist derselbe WindowArrangementActiveEintrag vorhanden, der Aero Snap steuert, wie in der folgenden Antwort beschrieben: /superuser//a/222609/61471 .

David Metcalfe
quelle
Leider glaube ich, dass meine ursprüngliche Frage und die ihr beigefügten Kommentare Ihre Antwort als inakzeptablen Vorschlag beschreiben. Das in früheren Versionen des Windows-Betriebssystems (vor Windows 10) beobachtete Verhalten würde es ermöglichen, das Fenster in seinen vollständig maximierten Zustand (pseudomaximiert, z. B. ein hart maximiertes RDP-Fenster) zu ziehen, ohne dass sich der maximierte Zustand ändert und mit deaktiviertem Windows Aero. Selbst in einer Nicht-Multimonitor-Konfiguration kann die pseudomaximierte RDP-Sitzung ohne Änderung der Fenstergröße von einem Bereich des Bildschirms in einen anderen gezogen werden. In Windows 10 ist dies nicht mehr der Fall.
psouza4 18.11.15
-1

Habe gerade die Antwort gefunden. Hatte selbst das gleiche Problem. Klicken Sie in den Systemeigenschaften auf Multitasking. Aktivieren Sie dann "Fenster automatisch anordnen, indem Sie sie an die Seiten oder Ecken des Bildschirms ziehen". Dieses Problem mit gesperrten maximierten Webseiten auf jedem Monitor wurde behoben. 3 Monitor Setup hier. Hoffe das hilft.

John Newell
quelle
Dies ist keine Lösung für das beschriebene Problem. Die Einstellung in Ihrem Kommentar ist Teil von AeroSnap, das bereits besprochen wurde. Das Problem tritt häufig bei pseudomaximierten Fenstern auf (Fenster, die sich im maximierten Zustand befinden, aber nicht den gesamten Monitor ausfüllen, z. B. bei RDP-Verbindungen).
Psouza4
-1

Wir sind in der Zukunft einige Jahre voraus und ich habe eine einfachere Lösung für Sie. Bearbeiten Sie die gespeicherte .rdp-Datei mit dem Notizblock und fügen Sie sie unterhalb der Zeile "Smart Sizing" hinzu, damit das RDP-Sitzungsfenster auf die von Ihnen angegebene Auflösung maximiert wird.

intelligente Dimensionierung: i: 1

Wilhelm
quelle
Können Sie das etwas näher erläutern?
Toto
Dies kann eine Problemumgehung für ein Programm sein, korrigiert oder ersetzt jedoch nicht das gewünschte Verhalten. RDP war ein solches Beispiel, das unter Windows problemlos getestet werden konnte, aber nicht die einzige anstößige App war.
Psouza4