2009-10-10 08:41:54 +0000 2009-10-10 08:41:54 +0000
278
278

Wie verschiebt man Fenster, die sich außerhalb des Bildschirms öffnen?

Ich habe ein Doppelmonitor-Setup, und ich habe vor kurzem mit den Positionierungseinstellungen herumgespielt, und einige meiner Einzelfenster-Anwendungen tun den Gefallen, dort zu bleiben, wo sie zuletzt geschlossen wurden, und sich später in der gleichen Position zu öffnen. Leider werden sie dadurch jetzt aus dem sichtbaren Bereich meiner Bildschirme entfernt!

Gibt es eine Möglichkeit, ein bestimmtes Fenster in den sichtbaren Bereich zu zwingen?

Risposte (21)

442
442
442
2009-10-10 08:53:20 +0000

Ich verwende diesen Ansatz:

  • Verwenden Sie Alt+Tab, um zur Off-Screen-Anwendung zu wechseln.
  • Drücken Sie Alt+Leertaste, um das Systemmenü aufzurufen (Sie werden es nicht sehen, da es nicht auf dem Bildschirm angezeigt wird)
  • Drücken Sie R, um die Menüauswahl “Wiederherstellen” auszuwählen, um sicherzustellen, dass das Fenster nicht maximiert ist (Sie können es nicht verschieben, wenn es maximiert ist)
  • Drücken Sie erneut Alt+Leertaste und dann M, um die Menüauswahl “Verschieben” auszuwählen.
  • Drücken Sie eine der Pfeiltasten, um die Bewegung einzuleiten.
  • Benutzen Sie jetzt einfach die Maus, um das Fenster an der gewünschten Stelle zu platzieren.

Wenn Sie eine nicht-englische Windows-Version verwenden, werden die Menüoptionen “R” und “M” wahrscheinlich unterschiedlich sein.

202
202
202
2009-10-15 14:57:50 +0000

Für Benutzer von Windows 7 und späteren Versionen:

+Shift+← oder → wird das ausgewählte Fenster in diese Richtung auf den Monitor verschoben.

17
17
17
2015-11-24 21:09:19 +0000

Für Windows 10 müssen Sie, um den alten Trick zum Verschieben des Fensters mit den Cursortasten zu verwenden, die Umschalttaste gedrückt halten, wenn Sie das Kontextmenü aus der Taskleiste öffnen.

Info aus How To Geek

13
13
13
2009-10-10 08:50:28 +0000

Sie können mit der rechten Maustaste auf die Schaltfläche des Programms in der Taskleiste klicken und dann auf “Verschieben” klicken. Sie können nun die Pfeilschaltflächen auf Ihrer Tastatur verwenden, um das Fenster dorthin zu verschieben, wo Sie es sehen können. Erfordert etwas Fummelei, manchmal bleiben die Fenster an den Rändern des Monitors “hängen”. Sie können es auch mit der Maus versuchen, aber die Tastatur ist etwas zuverlässiger, wenn Sie das Fenster noch nicht sehen können ;-)

9
9
9
2009-10-10 08:52:48 +0000

Damals, bevor es die Taskleiste gab, habe ich dieses Problem mit Alt+Leertaste behoben, um das Fenstermenü aufzurufen, dann M für die Funktion Verschieben. Mit den Pfeiltasten konnten Sie dann das Fenster wieder auf den Bildschirm bewegen.

9
9
9
2009-10-10 09:20:36 +0000

Ein anderer schneller Weg ist, auf die Taskleiste zu r-klicken und Cascade Windows zu wählen.

6
6
6
2015-01-09 00:23:52 +0000

Ich bin auf dieses Problem gestoßen, und absolut nichts hat bei mir funktioniert. Also ging ich in den Task-Manager und klickte mit der rechten Maustaste auf das Programm, das nicht auf dem Bildschirm angezeigt wurde. Die Umschaltung auf funktionierte nicht, und es wurde auch nicht in den Vordergrund gebracht. Zu beachten ist, dass dies ein statisches Fenster war, so dass Maximieren über die Taskleiste nicht verfügbar war. Aber Sie können über den Task-Manager maximieren, und das bringt es zu Ihrer Hauptanzeige! Von dort aus können Sie mit dem Fenster tun, was immer Sie tun müssen :)

5
5
5
2009-10-10 08:57:46 +0000

Bearbeiten: Eingestellt wie kommentiert

Um dieses Problem in Zukunft schnell zu lösen und um Anwendungen über den Doppelbildschirm zu positionieren, kann ich Winsplit Revolution empfehlen. Es reduziert die Lösung dieses Problems auf das einfache Drücken von Strg-Alt und einer Nummernblock-Taste, um das Fenster genau dorthin zurückzusetzen, wo Sie es haben wollen.

3
3
3
2011-04-22 18:57:29 +0000

Ich bin gerade auf dieses Problem mit der Git-GUI unter Windows 7 gestoßen, die auf Tk basiert und als solche dazu neigt, unter Windows manchmal auf seltsame Weise auszuflippen. Ich habe versucht, Alt-Leertaste zu drücken und den Befehl move zu verwenden, um es zurück in die Ansicht zu hangeln, aber es schien zu klemmen. Wenn ich ihn maximierte, kam er wieder zurück, aber wenn ich ihn wieder in den Fenstermodus versetzte, verschwand er wieder.

Was ich tat, war, ihn zu maximieren, die Titelleiste zu greifen und ihn an die Seite des Bildschirms zu ziehen, so dass Aero Snap ihn auf die halbe Bildschirmgröße verkleinerte und in den Fenstermodus versetzte. Danach habe ich sie von der Seite des Bildschirms weggezogen und die Kontrolle über sie zurückgewonnen.

3
3
3
2009-10-10 13:37:33 +0000

Ich benutze ein raffiniertes kleines Tool namens Shove-it , das einfach prüft, ob ein Fenster außerhalb des Bildschirmrandes liegt, und es wieder auf den Bildschirm schiebt. Es ist eine uralte Software (und die Homepage beweist es), funktioniert aber auf allen Windows-Versionen.

1
1
1
2013-02-14 21:37:39 +0000

Sie könnten NIRSOFT WinLister verwenden. Mir ist aufgefallen, daß die “Verschieben”-Methode unter Windows 7 nicht verfügbar ist, wenn Sie das klassische Design verwenden, und daß verschiedene andere Methoden fehlgeschlagen sind, so daß ich meine “WENN alles andere fehlschlägt”-Alternative veröffentliche.

  1. Laden Sie die WinLister-Anwendung herunter hier .

  2. Starten Sie WinLister als Administrator und wählen Sie das Fenster, das Sie wieder auf den Bildschirm bringen möchten. Wenn Sie WinLister nicht als Administrator ausführen, kann die Anwendung die Fenster nicht für Sie verschieben.

  3. Klicken Sie mit der rechten Maustaste und wählen Sie “Ausgewählte Fenster zentrieren”, und Sie sind fertig!

Screenshots hier .

1
1
1
2017-06-20 17:17:22 +0000

Für alle, die mit PowerShell vertraut sind, probieren Sie Folgendes aus:

  • Kopieren Sie den unten stehenden Code und fügen Sie ihn in eine PowerShell ISE-Sitzung ein
  • Drücken Sie Ausführen
  • Drücken Sie ALT+TAB / was auch immer, um das Off-Screen-Fenster aktiv zu machen
  • Warten Sie ein paar Augenblicke (5 Sekunden nach dem Drücken von RUN auf das Skript)
  • Das Fenster sollte jetzt erscheinen.

Wenn es sich bei dem Fenster um ein Hauptfenster handelt, wird es in die linke obere Ecke des Bildschirms verschoben.

Wenn es sich bei dem Fenster um ein Unterfenster eines anderen Programms handelt, wird seine linke obere Ecke mit der linken oberen Ecke des Elternfensters ausgerichtet.

Add-Type @"
    using System;
    using System.Runtime.InteropServices;

    // https://msdn.microsoft.com/en-us/library/windows/desktop/dd162897(v=vs.85).aspx
    public struct RECT 
    {
        public long left;
        public long top;
        public long right;
        public long bottom;
    }

    public class User32WinApi 
    {

        // https://msdn.microsoft.com/en-us/library/windows/desktop/ms633505(v=vs.85).aspx
        /*
            Gets the handle of the in-focus window
            NB: In some scenarios this can be NULL; so code needed to handle such an event
        */
        [DllImport("user32.dll")]
        public static extern IntPtr GetForegroundWindow();

        // https://msdn.microsoft.com/en-us/library/windows/desktop/ms633503(v=vs.85).aspx
        /*
            top & left are always 0 (i.e. since the rectangle is relative to the window itself)
            bottom & right equal the windows hieght and width, respectively.
        */
        [DllImport("user32.dll")]
        [return: MarshalAs(UnmanagedType.Bool)]
        public static extern bool GetClientRect(IntPtr hWnd, out RECT lpRect);

        // https://msdn.microsoft.com/en-us/library/windows/desktop/ms633534(v=vs.85).aspx
        [DllImport("user32.dll")]
        [return: MarshalAs(UnmanagedType.Bool)]
        public static extern bool MoveWindow(IntPtr hWnd, int X, int Y, int nWidth, int nHeight, bool bRepaint);

    }

"@
$repaint = $true 
$windowSize = New-Object RECT

"Quick; get the window you're after in focus; you have 5 seconds..."
Start-Sleep -Seconds 5 #allow 5 seconds for the user to get the window they're after in focus (e.g. using ALT+TAB / whatever)
$activeWindow = [User32WinApi]::GetForegroundWindow()
if ($activeWindow) {
    if([User32WinApi]::GetClientRect($activeWindow, [ref]$windowSize)) {
        if ([User32WinApi]::MoveWindow($activeWindow, 0, 0, $windowSize.right, $windowSize.bottom, $repaint)) {
            "Window moved successfully (hope you agree!)"
        } else {
            Write-Warning "Failed to move the active window"
        }
    } else {
        Write-Warning "Failed to get size of the active window"    
    }
} else {
    Write-Warning "No active window found"    
}

Originalcode hier: https://gist.githubusercontent.com/JohnLBevan/1593bbb860c2d2af436a1c9414e8adfa/

1
1
1
2014-02-18 18:27:26 +0000

Wählen Sie das Fenster aus (z.B. mit Alt+Tab). Halten Sie dann Alt+F7 gedrückt und bewegen Sie das Fenster mit den Pfeiltasten zurück in die Ansicht. Fertig.

Manchmal ist es schwer, blind zu wissen, wo sich das verborgene Fenster befindet (und wie man es auf den Bildschirm bewegt). Animationen während der Auswahl des Fensters können hilfreich sein. Aufgrund meines Aufbaus (ich benutze gelegentlich einen zweiten Bildschirm oben auf meinem Laptop-Bildschirm) sind Fenster, die außerhalb des Bildschirms erscheinen, normalerweise unten. Wenn Sie Alt+F7+Hoch halten, werden sie daher sichtbar.

1
1
1
2016-10-21 22:25:05 +0000

In einigen Fällen haben Sie trotz mehrerer Bildschirme am entfernten Standort keinen Zugriff auf diese von Ihrem Standort aus. Die Tastenbefehle funktionieren nicht, weil Sie von jeder Ansicht, die sich nicht auf Ihrem Bildschirm befindet, ausgesperrt wurden.

Wenn Sie in diesem Fall weitere Instanzen der Anwendung öffnen können, tun Sie dies. Die ersten paar Instanzen werden mit ziemlicher Sicherheit in der Taskleiste als noch mehr Phantomfenster erscheinen. Machen Sie so weiter. Irgendwann werden sie beginnen, die primäre Ansicht zu füllen. Klicken Sie dann mit der rechten Maustaste auf das Symbol in der Taskleiste und schließen Sie die Off-Screen-Instanzen. Sobald KEINE Off-Screen-Instanzen geöffnet sind, schließen Sie die Instanzen auf dem Primärbildschirm. Wenn Sie diese Anwendung das nächste Mal öffnen, erscheint sie auf dem primären Bildschirm und nicht “außerhalb der Kamera”.

1
1
1
2010-05-28 16:27:46 +0000

Ich hatte dasselbe Problem mit Winamp. Die einzige (unbefriedigende) Lösung, die ich bisher gefunden habe: Ändern der Bildschirmauflösung auf eine andere und zurück

Thomas

0
0
0
2017-06-28 01:10:28 +0000

Sie können auch UltraMon (non-free, Windows, GUI) verwenden, um ein Tastaturkürzel zum Verschieben eines Fensters auf den nächsten oder vorherigen Monitor einzurichten.

0
0
0
2013-11-16 19:12:31 +0000

Setzen Sie den Cursor auf die Taskleiste..Rechtsklick wählen Sie Fenster nebeneinander anzeigen..es bringt das Fenster auf den Bildschirm..und schließlich bringen Sie den Cursor wieder auf die Taskleiste Rechtsklick wählen Sie Rückgängig machen Fenster nebeneinander anzeigen…

0
0
0
2018-04-02 22:01:57 +0000

Ich habe ein Tool namens Borderline geschrieben, das Fenster außerhalb des Bildschirms bei der Ausführung automatisch wieder auf den Bildschirm bringt. Man muß es ausführen, wenn man es braucht (am besten funktioniert es, wenn man ihm einen Tastaturbefehl zuweist oder es ins Startmenü aufnimmt), aber das bedeutet auch, daß es nicht immer im Hintergrund läuft.

0
0
0
2019-02-24 14:24:24 +0000

Manchmal wurde dies gelöst:

  • Klicken Sie auf WinKey + P
  • Wählen Sie bis Extend oder eine andere Option, und alle Fenster werden kaskadiert. Verschieben Sie das gewünschte Fenster auf den Primärbildschirm.
0
0
0
2017-06-28 01:14:15 +0000

Von Move a window to the bottom/top monitor with a shortcut on Windows by Tymric :

habe ich ein AHK-Skript geschrieben.

Verwendung:

Win + Alt + Pfeil: Bewegen Sie das aktive Fenster auf den Monitor, dessen Richtung durch den Pfeil angezeigt wird. Beachten Sie, dass dies dazu führen kann, dass sich Ihr Fenster außerhalb des Bildschirms bewegt, wenn Sie versuchen, in Ihrem Setup von Monitor 2 nach oben oder von Monitor 3 nach rechts zu gehen. Ich werde es in Zukunft aktualisieren.

Win + Alt + Zahl: Verschieben des aktiven Fensters auf die angegebene Monitornummer

#Persistent

SysGet, MonitorCount, MonitorCount

#!Up::
  GoSub CalculateDisplacement
  WinMove, A, , %xPos%, %displaceYneg%
  return
#!Down::
  GoSub CalculateDisplacement
  WinMove, A, , %xPos%, %displaceYpos%
  return
#!Left::
  GoSub CalculateDisplacement
  WinMove, A, , %displaceXneg%, %yPos%
  return
#!Right::
  GoSub CalculateDisplacement
  WinMove, A, , %displaceXpos%, %yPos%
  return

#!1::
  GoSub CalculateDisplacement
  WinMove, A, , %xPosOn1%, %yPosOn1%
  return

#!2::
  if (MonitorCount > 1) {
    GoSub CalculateDisplacement
    WinMove, A, , %xPosOn2%, %yPosOn2%
  }
  return

#!3::
  if (MonitorCount > 2) {
    GoSub CalculateDisplacement
    WinMove, A, , %xPosOn3%, %yPosOn3%
  }
  return

#!4::
  if (MonitorCount > 3) {
    GoSub CalculateDisplacement
    WinMove, A, , %xPosOn4%, %yPosOn4%
  }
  return

#!5::
  if (MonitorCount > 4) {
    GoSub CalculateDisplacement
    WinMove, A, , %xPosOn5%, %yPosOn5%
  }
  return

#!6::
  if (MonitorCount > 5) {
    GoSub CalculateDisplacement
    WinMove, A, , %xPosOn6%, %yPosOn6%
  }
  return

#!7::
  if (MonitorCount > 6) {
    GoSub CalculateDisplacement
    WinMove, A, , %xPosOn7%, %yPosOn7%
  }
  return

#!8::
  if (MonitorCount > 7) {
    GoSub CalculateDisplacement
    WinMove, A, , %xPosOn8%, %yPosOn8%
  }
  return

#!9::
  if (MonitorCount > 8) {
    GoSub CalculateDisplacement
    WinMove, A, , %xPosOn9%, %yPosOn9%
  }
  return

CalculateDisplacement:
  WinGetPos, xPos, yPos, , , A
  Loop, %MonitorCount% {
    SysGet, MonitorDimension, Monitor, %A_Index%
    if (xPos > MonitorDimensionLeft and xPos < MonitorDimensionRight and yPos < MonitorDimensionBottom and yPos > MonitorDimensionTop) {
      currentMonitor = %A_Index%
    }
  }
  SysGet, thisMonitor, Monitor, %currentMonitor%
  displaceXpos := xPos + thisMonitorRight - thisMonitorLeft
  displaceYpos := yPos + thisMonitorTop - thisMonitorBottom
  displaceXneg := xPos - thisMonitorRight + thisMonitorLeft
  displaceYneg := yPos - thisMonitorTop + thisMonitorBottom
  Loop, %MonitorCount% {
    SysGet, nextMonitor, Monitor, %A_Index%
    xPosOn%A_Index% := xPos - thisMonitorLeft + nextMonitorLeft
    yPosOn%A_Index% := yPos - thisMonitorTop + nextMonitorTop
  }
  return
-1
-1
-1
2014-08-27 16:50:56 +0000

Wie verschiebt man Fenster, die sich außerhalb des Bildschirms öffnen?

Verringern Sie vorübergehend die Bildschirmauflösung, fassen Sie die obere Leiste mit der Maus an und verschieben Sie die Mitte. Warten Sie, bis das System die Auflösung automatisch wiederherstellt.

  1. DeskTop -> Bildschirmauflösung
  2. Wählen Sie Ihren Monitor aus, wechseln Sie von der aktuellen Einstellung zu einer niedrigeren Auflösung.
  3. Das System zeigt die neue Auflösung an, fragt Sie, ob Sie sie beibehalten oder innerhalb von 30 Sekunden wiederherstellen möchten.
  4. Greifen Sie innerhalb von 30 Sekunden das Fenster, in dem sich die Fehlstelle befindet, und verschieben Sie es in die Mitte.
  5. Warten Sie, bis die Zeitüberschreitung automatisch zurückkehrt.

Fenster verschoben…