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

Como mover janelas que abrem fora do ecrã?

Tenho uma configuração de monitor duplo, e recentemente brinquei com as definições de posicionamento, e algumas das minhas aplicações de janela única fazem o favor de preservar onde foram fechadas pela última vez, e abrir na mesma posição mais tarde. Infelizmente, isso coloca-os agora fora da área visível dos meus ecrãs!

Existe alguma forma de forçar uma determinada janela a entrar na área visível?

Respostas (21)

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

Eu uso esta abordagem:

  • Use Alt+Tab para mudar para a aplicação fora do ecrã.
  • Pressione Alt+SPACE para abrir o menu do sistema (não o verá porque está fora do ecrã)
  • Pressione R para seleccionar a opção de menu “Restore” para assegurar que as janelas não estão maximizadas (não o pode mover se estiver maximizado)
  • Pressione Alt+SPACE novamente, depois M para seleccionar a opção de menu “Move”.
  • Prima uma das teclas de seta para iniciar o movimento.
  • Agora basta utilizar o rato para colocar a janela onde pretende.

Se estiver a utilizar uma versão não inglesa do Windows, as escolhas do menu “R” e “M” serão provavelmente diferentes.

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

Para utilizadores do Windows 7 e posteriores:

+Shift+← ou → irá mover a janela seleccionada para o monitor nessa direcção.

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

Para Windows 10, para usar o antigo mover a janela com o truque das teclas de cursor, é necessário ter a tecla Shift pressionada quando se abre o menu de contexto a partir da barra de tarefas.

Informação de How To Geek

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

Pode clicar com o botão direito do rato no botão do programa na barra de tarefas, e depois clicar em “Mover”. Pode agora utilizar os botões de seta do seu teclado para mover a janela onde a pode ver. Requer alguma manipulação, por vezes as janelas ficam “presas” nas extremidades dos monitores. Também pode tentar usar o rato, mas o teclado é um pouco mais fiável se ainda não conseguir ver a janela ;-)

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

Antes de haver a barra de tarefas, eu costumava corrigir este problema com Alt+Space para trazer o menu da janela, depois M para a função Mover. As teclas de setas permitiam então mover a janela de volta para o ecrã.

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

Outra forma rápida é clicar na barra de tarefas e seleccionar Cascade Windows.

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

Deparei-me com este problema e absolutamente nada funcionou para mim. Então entrei no Task Manager, e cliquei com o botão direito do rato no programa que estava fora do ecrã. Mudar para não funcionou, nem trouxe para a frente. Para notar, esta era uma janela estática, por isso a maximização não estava disponível através da barra de tarefas. Mas você pode maximizar através do Gestor de Tarefas, e isso leva-o para o seu ecrã principal! A partir daí, pode fazer o que for preciso com a janela :)

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

Edit: Discontinued as per comment

_ Para resolver rapidamente este problema no futuro, e para posicionar aplicações sobre o ecrã duplo posso recomendar Winsplit Revolution . Reduzir a resolução deste problema para simplesmente pressionar Ctrl-Alt e uma tecla num-pad para colocar a janela exactamente onde o quer._

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

Acabei de me deparar com este problema com o Git GUI no Windows 7, que se baseia no Tk e que, como tal, tende a apresentar falhas de forma estranha por vezes no Windows. Tentei acertar no Alt-Space e usar o comando mover para o voltar a ver, mas parecia estar preso. Maximizá-lo traria de volta, mas se o voltasse a colocar no modo janela desapareceria novamente.

O que fiz foi maximizá-lo, pegar na barra de título e arrastá-lo para o lado do ecrã para que o Aero Snap o dimensionasse para metade do tamanho do ecrã e o colocasse no modo janela. Depois disso, arrastei-o para longe do lado do ecrã, e recuperei o controlo do mesmo.

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

Eu utilizo uma pequena e elegante ferramenta chamada Shove-it que simplesmente verifica se alguma janela está fora da borda da tela e a empurra de volta para a tela novamente. É um software antigo (e a página inicial prova-o) mas funciona em todas as versões do Windows.

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

Pode utilizar o NIRSOFT WinLister. Notei que o método “Move” não está disponível no Windows 7 quando está a utilizar o tema clássico, e vários outros métodos falharam por isso estou a publicar a minha alternativa “SE tudo o resto falhar”.

  1. Faça o download da aplicação WinLister aqui .

  2. Execute o WinLister como Administrador e seleccione a janela que pretende mover de novo no Ecrã. Não correr como administrador não dará à aplicação a capacidade de mover as janelas por si.

  3. Clique com o botão direito do rato e seleccione “Center Selected Windows” e já está!

Screenshots aqui .

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

Para quem está familiarizado com PowerShell, experimente isto:

  • Copie e cole o código abaixo numa sessão PowerShell ISE.
  • Carregue em Run
  • Carregue em ALT+TAB / o que quer que seja para tornar a janela fora do ecrã activa
  • Aguarde alguns momentos (5 segundos após carregar em RUN no script)
  • A janela deve agora aparecer.

Se a janela for uma janela principal, será movida para o canto superior esquerdo do ecrã.

Se a janela for uma janela infantil de outro programa, o seu canto superior esquerdo será alinhado com o canto superior esquerdo da sua janela principal.

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

Código original aqui: https://gist.githubusercontent.com/JohnLBevan/1593bbb860c2d2af436a1c9414e8adfa/

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

Seleccione a janela (por exemplo, utilizando Alt+Tab). Depois, segure Alt+F7 e mova a janela com as teclas de setas de volta para a vista. Feito.

Por vezes é difícil saber cegamente onde se encontra a janela oculta (e assim como a mover em direcção ao ecrã). As animações durante a selecção da janela podem ser úteis. Devido à minha configuração (ocasionalmente uso um segundo ecrã no topo do ecrã do meu computador portátil), as janelas que aparecem fora do ecrã estão normalmente por baixo. Assim sendo, o facto de segurar Alt+F7+Up faz com que as janelas apareçam.

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

Em alguns casos, apesar de ter vários ecrãs no local remoto, pode não ter acesso a eles a partir do seu local. Os comandos-chave não funcionam porque foi bloqueado de qualquer visualização que não esteja no seu ecrã.

Neste caso, se conseguir abrir instâncias adicionais da aplicação, faça-o. As primeiras instâncias aparecerão certamente na barra de tarefas como ainda mais janelas fantasmas. Continue a fazer isto. Eventualmente, elas vão começar a preencher a vista primária. Depois use o ícone da barra de tarefas para clicar com o botão direito do rato e fechar as instâncias fora do ecrã. Uma vez que NÃO existam instâncias fora do ecrã abertas, feche as que se encontram no ecrã primário. Da próxima vez que abrir essa aplicação, ela aparecerá no ecrã primário e não “fora da câmara”.

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

Tive o mesmo problema com o winamp . A única solução (insatisfatória) que encontrei até agora: mudar a resolução do ecrã para uma resolução diferente e voltar

Thomas

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

Também pode usar UltraMon (não livre, Windows, GUI) para configurar um atalho de teclado para mover uma janela para o monitor seguinte ou anterior.

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

colocar o cursor sobre a barra de tarefas…clique com o botão direito do rato seleccionar mostrar janela lado a lado…isso irá trazer a janela para o ecrã…e finalmente trazer novamente o cursor sobre a barra de tarefas clicar com o botão direito seleccionar desfazer mostrar janela lado a lado…

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

Escrevi uma ferramenta chamada Borderline que automaticamente volta a mover as janelas para fora do ecrã quando é executado. Tem de a executar quando precisar dela (funciona melhor se lhe atribuir um atalho de teclado ou se a colocar no menu inicial), mas isso também significa que nem sempre está a funcionar em segundo plano.

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

Por vezes, isto resolvido:

  • Clique em WinKey + P
  • Escolha para Extend ou outra opção, e todas as janelas ficarão em cascata. Mova a janela desejada para o ecrã principal.
0
0
0
2017-06-28 01:14:15 +0000

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

Eu escrevi um script AHK.

Usage:

Win + Alt + Arrow: Mova a janela activa para o monitor cuja direcção é indicada pela seta. Note que isto pode fazer com que a sua janela se mova para fora do ecrã se tentar subir a partir do monitor 2 ou directamente do monitor 3 na sua configuração. Irei actualizá-la no futuro.

Win + Alt + Number: Mova a janela activa para o número do monitor

#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

Como mover janelas que se abrem fora do ecrã?

Baixam temporariamente a resolução do ecrã, agarram a barra superior com o rato e movem o centro. Espere que o sistema restabeleça automaticamente a resolução.

  1. DeskTop -> Resolução do ecrã
  2. Seleccione o seu monitor, mude para uma resolução mais baixa a partir da configuração actual.
  3. O sistema mostra a nova resolução, pergunta se quer manter ou reverter em 30 segundos.
  4. Dentro de 30 segundos, agarre na janela localizada em falta e mova-a para o centro.
  5. Espere até que o tempo limite reverta automaticamente.

Janela movida…