Come spostare le finestre che si aprono fuori dallo schermo?


272

Ho una configurazione a doppio monitor e di recente ho giocato con le impostazioni di posizionamento e alcune delle mie applicazioni a finestra singola fanno il favore di preservare dove sono state chiuse l'ultima volta e di aprirle nella stessa posizione in seguito. Sfortunatamente, ora li posiziona fuori dall'area visualizzabile dei miei schermi!

C'è un modo per forzare una finestra particolare nell'area visualizzabile?


2
Questo è ancora un problema in Windows 10! Ho 3 monitor e ne uso solo uno "qua e là" ... quando lo faccio, quindi smetto di usarlo, alcuni programmi aperti si aprono automaticamente. Devo fare la vittoria + freccia sinistra per riportarla sul monitor principale.

1
Ancora un problema sette anni dopo ...
Jack Wasey,

Risposte:


194

Per gli utenti di Windows 7 e versioni successive: Windows Key+ Shift+ o sposta la finestra selezionata sul monitor in quella direzione.


2
Grazie per questo, avevo un'app con una finestra non standard, quindi la tecnica Alt-Space non funzionava (Foxit Reader su Windows).
Bdoserror,

3
Da notare anche la vittoria + sinistra / destra / su, che posiziona la finestra che copre metà del monitor attivo (su entrambi i lati) o la massimizza. Questo dovrebbe funzionare in tutte le condizioni che ho trovato, e sono anche dei tasti molto utili (tranne quando continuo a colpirli quando provo a fn + tasti freccia: P).
Kat

11
Questo non fa nulla nel mio Windows 10 Pro x64
Mike 'Pomax' Kamermans,

3
@ Mike'Pomax'Kamermans: divertente. Questa è l' unica cosa che funziona sul mio laptop Windows 10 Pro x64 per spostare una finestra Emacs che si apre fuori schermo.
Mike Sherrill 'Cat Recall',

2
Wow, non posso credere di non averlo mai saputo. Qualcuno lo trova ancora utile 8 anni dopo :)
veryRandomMe

433

Uso questo approccio:

  • Usa Alt+ Tabper passare all'applicazione fuori schermo.
  • Premi Alt+ SPACEper visualizzare il menu di sistema (non lo vedrai perché è fuori schermo)
  • Premere Rper selezionare l'opzione di menu "Ripristina" per garantire che le finestre non siano ingrandite (non è possibile spostarle se ingrandite)
  • Premere di nuovo Alt+ SPACE, quindi Mper selezionare l'opzione di menu "Sposta".
  • Premere uno dei tasti freccia per iniziare il movimento.
  • Ora usa il mouse per posizionare la finestra dove vuoi.

Se si utilizza una versione non inglese di Windows, le opzioni di menu "R" e "M" saranno probabilmente diverse.


8
Grazie mille "Terje Mikal" per la tua soluzione, che mi ha salvato. Ma dato che il problema si verifica solo da quando Windows 7 ha rimosso la buona vecchia soluzione (tasto destro del mouse sul pulsante App sulla barra delle applicazioni), esiste una soluzione ancora migliore, pubblicata da "kmote" il 18 giugno 2013 alle 17:45 sotto "Emthigious" 10 ott 2010 08:50: «In Windows 7 è necessario MAIUSC fare clic con il tasto destro del mouse sul pulsante della barra delle applicazioni»
Michel Merlin,

1
Ho provato ogni altro passo, ma iniziare il movimento con i tasti freccia è quello che alla fine lo ha effettivamente fatto ... wow. Ed ero così vicino a reinstallare l'applicazione!
Filippo

1
Con l'app con cui ho a che fare, Restore è disattivato, ma Maximize funziona in quella fase, quindi la mossa non è necessaria. Massimizza per la vittoria!
Brian Bulkowski,

Faccio come sopra ma la seguente combinazione funziona anche per me, Alt + Tab, Alt + Spazio, M, quindi premi Esc, anche questo sembra funzionare
Mz A

È quasi il 2020, ancora affrontando questo.
Mert

14

Per Windows 10 per utilizzare la vecchia mossa della finestra con il trucco dei tasti cursore è necessario Shiftpremere il tasto quando si apre il menu di scelta rapida dalla barra delle attività.

inserisci qui la descrizione dell'immagine

Informazioni da How To Geek


3
Nelle attuali build di Windows 10, puoi anche passare il mouse sulla barra delle attività e tenerlo premuto per un secondo, il che farà apparire una vista in miniatura della finestra. Fare clic con il pulsante destro del mouse sulla miniatura per visualizzare il menu di scelta rapida "vecchio" proprio come un clic con il tasto Maiusc.
Coderer

1
@Coderer: il commento è davvero utile, non lo sapevo. Pensavo lo avessero rimosso completamente.
Oak_3260548,

Me ne sono completamente dimenticato! Penso che puoi anche spostare il tasto destro del mouse se il pulsante della barra delle applicazioni rappresenta una finestra. Si ottiene un menu di scelta rapida diverso se esiste più di una finestra per l'applicazione in questione.
Coderer

12

È possibile fare clic con il pulsante destro del mouse sul pulsante del programma sulla barra delle applicazioni, quindi fare clic su "Sposta". Ora puoi usare i pulsanti freccia sulla tastiera per spostare la finestra dove puoi vederla. Richiede un po 'di armeggiamento, a volte le finestre si "bloccano" sui bordi del monitor. Puoi anche provare a usare il mouse, ma la tastiera è un po 'più affidabile se non riesci ancora a vedere la finestra ;-)


2
Non sapevo della tastiera, ma non puoi usare il mouse se sono fuori schermo, l'ho già provato.
Matthew Scharley,

2
Dovresti essere in grado di usare i tasti freccia anche se sono fuori schermo, a meno che non ci sia qualcosa di non standard nel tuo sistema che lo impedisce. Questa è sempre stata la mia risposta standard per le persone che hanno riscontrato questo problema.
music2myear il

9
Inoltre, dopo aver premuto almeno un tasto freccia, la finestra viene "collegata" al mouse e puoi spostarla con il mouse (senza fare clic!) Questo approccio con un solo tasto più il mouse è in genere più veloce rispetto all'uso dei soli tasti.
Daniel Rikowski,

8
In Windows 7 è necessario MAIUSC, fare clic con il pulsante destro del mouse sul pulsante della barra delle applicazioni.
kmote

Questa è l'unica soluzione che ha funzionato per me ...
sebagomez,

8

Indietro prima c'era la barra delle applicazioni, ho usato per risolvere questo problema con Alt+Spaceper far apparire il menu della finestra, quindi Mper la funzione Sposta. I tasti freccia consentono quindi di spostare nuovamente la finestra sullo schermo.


+1 con un avvertimento che non si sposteranno se sono ingranditi a uno schermo, questo può essere un problema se le finestre non sono semplicemente "oltre i limiti" ma sono su uno schermo fittizio. Potrebbero essere per l'OP poiché l'ottimizzazione avrebbe dovuto coprire l'intera risoluzione dello schermo occupato.
mckenzm,

8

Un altro modo rapido è di fare nuovamente clic sulla barra delle applicazioni e selezionare Cascade Windows.


4
Questo è un modo piuttosto brutto di farlo perché influenzerà tutte le mie finestre aperte (e di solito ho anche un browser aperto, se non una mezza dozzina di altre)
Matthew Scharley,

1
È vero, tuttavia è più veloce. Inoltre puoi chiudere la finestra che era fuori dallo schermo e utilizzare Annulla cascata dopo quello che ripristinerà le posizioni delle finestre. Non so se ripristinerà anche la posizione della finestra che era fuori schermo in quella posizione poiché non posso provarla (ho solo un monitor).
T. Kaltnekar,

5

Ho riscontrato questo problema e assolutamente nulla ha funzionato per me. Quindi sono entrato in Task Manager e ho fatto clic con il pulsante destro del mouse sul programma che era fuori schermo. Passare a non ha funzionato, né portato in primo piano. Da notare, questa era una finestra statica, quindi la funzione di ingrandimento non era disponibile tramite la barra delle applicazioni. Ma puoi massimizzare tramite Task Manager, e questo lo porta al tuo display principale! Da lì puoi fare tutto ciò di cui hai bisogno con la finestra. :)


Grazie per questa risposta Fare clic con il tasto destro e Massimizza in Task Manager è stata l'unica cosa che ha funzionato per me.
un programmatore il

5

Modifica: interrotto come da commenti

Per risolvere rapidamente questo problema in futuro e posizionare le applicazioni sul doppio schermo, posso consigliare Winsplit Revolution . Riduce la risoluzione di questo problema semplicemente premendo Ctrl-Alt e un tasto tastierino numerico per riportare la finestra esattamente dove si desidera.


sfortunatamente non è più gratuito
Charbel,

Sì, sembra buono ma ho una rigida politica di non pagare a meno che non voglia farlo. Come per Lastpass o Acronis True Image. E con il mio programma è molto probabile che potrebbero trascorrere più di 30 giorni prima che il problema si ripresenti, quindi i periodi di prova non funzionano per me.
SDsolar,

1
Purtroppo, la rivoluzione di WinSplit è stata interrotta e non ci sono nuovi aggiornamenti in arrivo. "Sostituito da" MaxTo ", attualmente $ 19 USD
TT

1
WinSplit-Revolution è un software gratuito ed è ancora disponibile per il download se lo cerchi . L'ultima versione era la 11.04, rilasciata nel 2011. Funziona in Windows 10. Il sorgente v9.02 modificato è disponibile in GitHub come WinSplit-Reloaded . È un prodotto fantastico.
Ben

@Ben, grazie per i collegamenti. Sono andato al link nella risposta e ho citato quelle informazioni da esso. (Ora la pagina dice "WinSplit Revolution non è più disponibile, ma offriamo un'ottima alternativa.") Il readme in quel fork di GitHub è informativo e menziona specificamente "versione 9.02, rilasciata pubblicamente nel 2009".
TT--

3

Uso un piccolo strumento elegante chiamato Shove-it che controlla semplicemente se c'è qualche finestra fuori dal bordo dello schermo e lo rimette sullo schermo. È un software antico (e la homepage lo dimostra) ma funziona su tutte le versioni di Windows.


Il link ora è morto :-(
danio,

:-( d'altra parte, questa soluzione potrebbe essere sopravvissuta a se stessa.
Succede


Il programma di installazione si blocca solo per me (su Windows 7).
mhenry1384,

@ mhenry1384 bene è di 14 anni (e 32 bit), non possiamo realmente si aspettano di lavorare con le nuove versioni ..... (64 bit?)
Torben Gundtofte-Bruun

3

Mi sono appena imbattuto in questo problema con Git GUI su Windows 7, che si basa su Tk e come tale tende a presentarsi in modi strani a volte su Windows. Ho provato a colpire Alt-Space e usando il comando sposta per ridurlo in vista, ma sembrava bloccato. Massimizzarlo lo riporterebbe indietro, ma se lo ripristinassi in modalità finestra sparirebbe di nuovo.

Quello che ho fatto è stato ingrandirlo, afferrare la barra del titolo e trascinarla sul lato dello schermo in modo che Aero Snap lo ridimensionasse a metà dello schermo e lo mettesse in modalità finestra. Successivamente, l'ho trascinato lontano dal lato dello schermo e ho ripreso il controllo.


Così tante risposte più votate, ma nessuna ha funzionato per me. Questo ha fatto.
Dan Nissenbaum,

Anche Git GUI mi ha portato qui, ma l'ho risolto con Shift-RightClick (sull'icona della barra delle applicazioni), Sposta, tasto freccia, quindi mouse (per posizionare la finestra dove dovrebbe essere). La soluzione di Emthigious / Brad Patton funziona.
Mcalex,

1

Ho avuto lo stesso problema con Winamp. L'unica soluzione (insoddisfacente) che ho trovato finora: cambiare la risoluzione dello schermo con un'altra e viceversa

Tommaso


1

È possibile utilizzare NIRSOFT WinLister. Ho notato che il metodo "Sposta" non è disponibile su Windows 7 quando si utilizza il tema classico e vari altri metodi hanno fallito, quindi sto pubblicando la mia alternativa "SE tutto il resto fallisce".

  1. Scarica qui l' applicazione WinLister .

  2. Esegui WinLister come amministratore e seleziona la finestra che desideri tornare sullo schermo. Non eseguire come amministratore non darà all'applicazione la possibilità di spostare le finestre per te.

  3. Fare clic destro e selezionare "Centra le finestre selezionate" e il gioco è fatto!

Schermate qui .


1
Un ottimo consiglio: questa è l'unica soluzione che ha funzionato per me per gli utensili elettrici MS TFS dato che Alt-Space ha aperto il menu solo per la finestra di Windows Explorer, non per la finestra secondaria che era fuori dallo schermo.
danio,

1

In alcuni casi, nonostante la presenza di più schermi nella posizione remota, potresti non avere accesso ad essi dalla tua posizione. I comandi dei tasti non funzioneranno perché sei stato bloccato fuori da qualsiasi vista che non è sullo schermo.

In questo caso, se è possibile aprire ulteriori istanze dell'applicazione, farlo. I primi esempi appariranno quasi certamente nella barra delle applicazioni come ancora più finestre fantasma. Continua a farlo. Alla fine, inizieranno a popolare la vista principale. Quindi utilizzare l'icona della barra delle attività per fare clic con il tasto destro e chiudere le istanze fuori schermo. Una volta che NON ci sono istanze off-screen aperte, chiudere quelle sulla schermata principale. La prossima volta che aprirai quell'applicazione, apparirà sullo schermo principale e non "fuori dalla fotocamera".


1
A cosa ti riferisci: "posizione remota", "posizione", ecc ...? Perché l'utente dovrebbe essere "bloccato fuori da qualsiasi vista che non è sullo schermo"?
Scott,

Vuol dire VM, Citrix, RDP ecc. Non leggerai multi-4K sul tuo telefono. Questo è anche il caso degli schermi fittizi. Alcuni utenti aziendali inseriscono un dongle HDMI per parcheggiare gli oggetti desktop obbligatori. Tornare indietro a 1 schermo reale li riporta indietro.
mckenzm,

1

Seleziona la finestra (es. Usando Alt+ Tab). Quindi tieni premuto Alt+ F7e sposta di nuovo la finestra con i tasti freccia. Fatto.

A volte è difficile sapere ciecamente dove si trova la finestra nascosta (e quindi come spostarla verso lo schermo). Le animazioni durante la selezione della finestra potrebbero essere utili. A causa della mia configurazione (di tanto in tanto utilizzo una seconda schermata nella parte superiore dello schermo del mio laptop), le finestre che appaiono fuori dallo schermo sono in genere inferiori. Tenere premuto Alt+ F7+ Upquindi li mette in vista.


1

Per chiunque abbia familiarità con PowerShell, prova questo:

  • Copia e incolla il codice seguente in una sessione ISE di PowerShell.
  • Hit Run
  • Premi ALT + TAB / qualunque cosa per rendere attiva la finestra fuori schermo
  • Attendi qualche istante (5 secondi dalla battuta RUN sullo script)
  • La finestra dovrebbe ora apparire.

Se la finestra è una finestra principale, verrà spostata nell'angolo in alto a sinistra dello schermo.

Se la finestra è una finestra figlio di un altro programma, il suo angolo in alto a sinistra sarà allineato con l'angolo in alto a sinistra della finestra principale.

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"    
}

Codice originale qui: https://gist.githubusercontent.com/JohnLBevan/1593bbb860c2d2af436a1c9414e8adfa/


0

posiziona il cursore sulla barra delle applicazioni ... fai clic con il pulsante destro del mouse seleziona mostra finestra affiancata ... porterà la finestra sullo schermo ... e infine riporta nuovamente il cursore sulla barra delle applicazioni fai clic con il pulsante destro del mouse seleziona annulla mostra finestra affiancata ..


0

Puoi anche usare UltraMon (non libero, Windows, GUI) per impostare una scorciatoia da tastiera per spostare una finestra sul monitor successivo o precedente.

inserisci qui la descrizione dell'immagine


0

Da Sposta una finestra al monitor inferiore / superiore con un collegamento su Windows di Tymric :

Ho scritto una sceneggiatura AHK.

Uso:

Win+ Alt+ Arrow: Sposta la finestra attiva sul monitor la cui direzione è indicata dalla freccia. Si noti che ciò può causare lo spostamento della finestra all'esterno dello schermo se si tenta di salire dal monitor 2 o direttamente dal monitor 3 nella configurazione. Lo aggiornerò in futuro.

Win+ Alt+ Number: Sposta la finestra attiva sul numero di monitor indicato

#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

0

Ho scritto uno strumento chiamato Borderline che si sposta automaticamente sullo schermo quando viene eseguito. Devi eseguirlo quando ne hai bisogno (funziona meglio se gli assegni una scorciatoia da tastiera o la metti nel menu di avvio), ma ciò significa anche che non è sempre in esecuzione in background.


0

A volte, questo risolto:

  • Fai clic su WinKey+P
  • Scegli Extendo un'altra opzione e tutte le finestre verranno messe in cascata. Spostare la finestra desiderata sulla schermata principale.

-1

Come spostare le finestre che si aprono fuori dallo schermo?

Abbassa temporaneamente la risoluzione dello schermo, afferra la barra superiore con il mouse e sposta il centro. Attendere che il sistema ripristini automaticamente la risoluzione.

  1. DeskTop -> Risoluzione dello schermo
  2. Seleziona il tuo monitor, passa a una risoluzione inferiore rispetto all'impostazione corrente.
  3. Il sistema mostra la nuova risoluzione, chiede se si desidera conservare o ripristinare in 30 secondi.
  4. Entro 30 secondi, prendi la finestra mancante e spostala al centro.
  5. Attendere il timeout per ripristinare automaticamente.

Finestra spostata ...

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.