Como mover janelas que abrem fora da tela?

252

Eu tenho uma configuração de monitor duplo, e eu recentemente brinquei com as configurações de posicionamento, e alguns dos meus aplicativos de janela única favorecem a preservação de onde eles foram fechados pela última vez e a abertura na mesma posição mais tarde. Infelizmente, isso agora os coloca fora da área visível das minhas telas!

Existe alguma maneira de forçar uma janela específica na área visível?

    
por Matthew Scharley 10.10.2009 / 10:41

20 respostas

178

Para usuários do Windows 7 e posterior: + Deslocamento + ou moverá a janela selecionada para o monitor nessa direção.

    
por 15.10.2009 / 16:57
400

Eu uso essa abordagem:

  • Use a tecla Alt + para alternar para o aplicativo fora da tela.
  • Pressione Alt + ESPAÇO para abrir o menu do sistema (você não o verá porque está fora da tela)
  • Pressione R para selecionar a opção de menu "Restaurar" para garantir que a janela não esteja maximizada (você não pode movê-la se estiver maximizada)
  • Pressione Alt + ESPAÇO novamente e, em seguida, M para selecionar a opção de menu "Mover".
  • Pressione uma das teclas de seta para iniciar o movimento.
  • Agora é só usar o mouse para colocar a janela onde você quiser.

Se você estiver usando uma versão do Windows que não seja em inglês, as opções de menu "R" e "M" provavelmente serão diferentes.

    
por 10.10.2009 / 10:53
12

Você pode clicar com o botão direito do mouse no botão do programa na barra de tarefas e clicar em "Mover". Agora você pode usar os botões de seta no seu teclado para mover a janela onde você pode vê-lo. Requer alguns mexer, às vezes as janelas ficam "presas" nas bordas dos monitores. Você também pode tentar usar o mouse, mas o teclado é um pouco mais confiável se você ainda não consegue ver a janela; -)

    
por 10.10.2009 / 10:50
12

Para o Windows 10, a fim de usar o antigo mover a janela com o truque de teclas do cursor, você precisa ter pressionado a tecla Shift ao abrir o menu de contexto na barra de tarefas.

Informaçõesde Como Geek

    
por 24.11.2015 / 22:09
8

De volta antes da barra de tarefas, eu usei para corrigir este problema com Alt + Espaço para abrir o menu da janela, então M para a função Mover. As teclas de setas permitem que você mova a janela de volta na tela.

    
por 10.10.2009 / 10:52
8

Outra maneira rápida é clicar na barra de tarefas e selecionar Cascade Windows.

    
por 10.10.2009 / 11:20
5

Editar: descontinuado de acordo com os comentários

Para resolver esse problema rapidamente no futuro e posicionar os aplicativos na tela dupla, posso recomendar Winsplit Revolution . Isso reduz a solução desse problema simplesmente pressionando Ctrl-Alt e uma tecla num-pad para voltar a janela exatamente onde você quer.

    
por 10.10.2009 / 10:57
4

Eu me deparei com esse problema e absolutamente nada funcionou para mim. Então entrei no Gerenciador de Tarefas e cliquei com o botão direito do mouse no programa que estava fora da tela. Mudar para não funcionou, nem trouxe para frente. Para observar, essa era uma janela estática, portanto, a maximização não estava disponível na barra de tarefas. Mas você pode maximizar através do Gerenciador de Tarefas, e isso traz para o seu monitor principal! De lá, você pode fazer o que precisar com a janela. :)

    
por 09.01.2015 / 01:23
3

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

    
por 10.10.2009 / 15:37
3

Acabei de me deparar com este problema com o Git GUI no Windows 7, que é baseado no Tk e, como tal, tende a falhar de formas estranhas, por vezes, no Windows. Eu tentei acertar o Alt-Space e usar o comando Mover para voltar à vista, mas parecia estar preso. Maximizá-lo traria de volta, mas se eu colocá-lo de volta no modo de janela, ele desapareceria novamente.

O que eu fiz foi maximizá-lo, pegar a barra de título e arrastá-lo para o lado da tela para que o Aero Snap dimensionasse para metade do tamanho da tela e o colocasse no modo de janela. Depois disso, arrastei-o para longe da tela e recuperei o controle dele.

    
por 22.04.2011 / 20:57
1

Eu tive o mesmo problema com o winamp. A única solução (insatisfatória) que encontrei até agora: alterar a resolução da tela para outra diferente e voltar

Thomas

    
por 28.05.2010 / 18:27
1

Você pode usar o NIRSOFT WinLister. Percebi que o método "Mover" não está disponível no Windows 7 quando você está usando o tema clássico, e vários outros métodos falharam, por isso estou postando minha alternativa "SE tudo mais falha".

  1. Faça o download do aplicativo WinLister aqui .

  2. Execute o WinLister como Administrador e selecione a janela que você deseja mover novamente na Tela. Não executar como administrador não dará ao aplicativo a capacidade de mover as janelas para você.

  3. Clique com o botão direito e selecione "Centralizar janelas selecionadas" e pronto!

Screenshots aqui .

    
por 14.02.2013 / 22:37
1

Em alguns casos, apesar de ter várias telas no local remoto, talvez você não tenha acesso a elas a partir do seu local. Os comandos principais não funcionarão porque você foi bloqueado de qualquer visualização que não esteja na tela.

Nesse caso, se você puder abrir instâncias adicionais do aplicativo, faça isso. As primeiras instâncias quase certamente aparecerão na barra de tarefas como ainda mais janelas fantasmas. Continue fazendo isso. Eventualmente, eles começarão a preencher a visão principal. Em seguida, use o ícone da barra de tarefas para clicar com o botão direito e fechar as instâncias fora da tela. Quando não houver nenhuma instância fora da tela aberta, feche as que estão na tela principal. Da próxima vez que você abrir o aplicativo, ele aparecerá na tela principal e não "fora da câmera".

    
por 22.10.2016 / 00:25
1

Selecione a janela (por exemplo, usando Alt + Guia ). Então segure Alt + F7 e mova a janela com as teclas de seta de volta à vista. Feito.

Às vezes é difícil saber cegamente onde a janela oculta está localizada (e, portanto, como movê-la para a tela). Animações durante a seleção da janela podem ser úteis. Devido à minha configuração (ocasionalmente, uso uma segunda tela na parte superior da tela do meu laptop), as janelas que aparecem fora da tela geralmente estão abaixo. Segurar Alt + F7 + Acima , portanto, os mostra.

    
por 18.02.2014 / 19:27
1

Para alguém familiarizado com o PowerShell, tente isto:

  • Copiar & cole o código abaixo em uma sessão do PowerShell ISE.
  • Hit Run
  • Pressione ALT + TAB / whatever para tornar a janela fora da tela ativa
  • Aguarde alguns instantes (5 segundos depois de executar o RUN no script)
  • A janela deve aparecer agora.

Se a janela for uma janela principal, ela será movida para o canto superior esquerdo da tela.

Se a janela for uma janela filha de outro programa, seu canto superior esquerdo será alinhado com o canto superior esquerdo da 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: link

    
por 20.06.2017 / 19:17
0

coloque o cursor na barra de tarefas..clique em selecionar a janela de exibição lado a lado..trará a janela na tela..e finalmente traga novamente o cursor na barra de tarefas clique direito selecione desfazer janela de exibição lado a lado ..

    
por 16.11.2013 / 20:12
0

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

    
por 28.06.2017 / 03:10
0

De Mover uma janela para o monitor inferior / superior com um atalho no Windows por Tymric :

Eu escrevi um script AHK.

Uso:

Win + Alt + Seta : Move a janela ativa para o monitor cuja direção é indicada pela seta. Observe que isso pode fazer com que a janela se mova para fora da tela se você tentar subir do monitor 2 ou direto do monitor 3 na sua configuração. Vou atualizá-lo no futuro.

Win + Alt + Número : Move a janela ativa para o número do monitor fornecido

#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
    
por 28.06.2017 / 03:14
0

Eu escrevi uma ferramenta chamada Borderline que moverá automaticamente as janelas fora da tela na tela quando corre. Você tem que executá-lo quando você precisar dele (funciona melhor se você atribuir um atalho de teclado ou colocá-lo no menu Iniciar), mas isso também significa que nem sempre está sendo executado em segundo plano.

    
por 03.04.2018 / 00:01
-1

Como mover janelas que abrem fora da tela?

Diminua temporariamente a resolução da tela, pegue a barra superior com o mouse e mova o centro. Aguarde o sistema restaurar automaticamente a resolução.

  1. DeskTop - > Resolução de tela
  2. Selecione seu monitor, mude para uma resolução menor da configuração atual.
  3. O sistema mostra a nova resolução, pergunta se você deseja manter ou reverter em 30 segundos.
  4. Em 30 segundos, agarre a janela localizada da falha e mova-a para o centro.
  5. Aguarde até que o tempo limite seja revertido automaticamente.

Janela movida ...

    
por 27.08.2014 / 18:50