Comment déplacer des fenêtres qui s'ouvrent hors écran?


272

J'ai une configuration à double moniteur, et j'ai récemment joué avec les paramètres de positionnement, et certaines de mes applications à fenêtre unique préfèrent conserver l'endroit où elles étaient fermées et ouvrir plus tard dans la même position. Malheureusement, cela les place maintenant hors de la zone visible de mes écrans!

Existe-t-il un moyen de forcer une fenêtre particulière dans la zone visible?


2
C'est toujours un problème dans Windows 10! J'ai 3 moniteurs et je n’utilise qu’un "ici et là" ... quand je le fais, alors arrêtez de l’utiliser, certains programmes ouverts s’ouvrent par défaut. Je dois faire la victoire + flèche gauche pour le renvoyer finalement au moniteur principal.

1
Encore un problème sept ans plus tard ...
Jack Wasey

Réponses:


194

Pour Windows 7 et les utilisateurs ultérieurs: Windows Key+ Shift+ ou déplacera la fenêtre sélectionnée vers le moniteur dans cette direction.


2
Merci pour cela, j'avais une application avec une fenêtre non standard, donc la technique Alt-Space ne fonctionnait pas (Foxit Reader sous Windows).
Bdoserror

3
Il convient également de noter la victoire + gauche / droite / haut, qui place la fenêtre couvrant la moitié du moniteur actif (de chaque côté) ou la maximise. Cela devrait fonctionner dans toutes les conditions que j'ai trouvées et sont également des clés très utiles (sauf lorsque je continue à les frapper lorsque j'essaie de fn + touches fléchées: P).
Kat

11
Cela ne fait rien dans mon Windows 10 Pro x64
Mike 'Pomax' Kamermans

3
@ Mike'Pomax'Kamermans: drôle. C’est la seule chose qui fonctionne sur mon ordinateur portable Windows 10 Pro x64 pour déplacer une fenêtre Emacs qui s’ouvre hors écran.
Mike Sherrill 'Cat Recall' le

2
Wow, je ne peux pas croire que je n'ai jamais su à ce sujet. Quelqu'un trouve encore cela utile 8 ans plus tard :)
veryRandomMe

433

J'utilise cette approche:

  • Utilisez Alt+ Tabpour passer à l’application hors écran.
  • Appuyez sur Alt+ SPACEpour afficher le menu système (vous ne le verrez pas car il est hors écran)
  • Appuyez sur Rpour sélectionner le menu "Restaurer" pour vous assurer que les fenêtres ne sont pas agrandies (vous ne pouvez pas les déplacer si elles sont agrandies)
  • Appuyez à nouveau sur Alt+ SPACE, puis sur Mpour sélectionner le menu "Déplacer".
  • Appuyez sur l'une des touches fléchées pour lancer le mouvement.
  • Maintenant, utilisez la souris pour placer la fenêtre où vous le souhaitez.

Si vous utilisez une version de Windows autre que l'anglais, les choix de menu "R" et "M" seront probablement différents.


8
Merci beaucoup à Terje Mikal pour votre solution, cela m'a sauvé. Mais étant donné que le problème ne se produit que depuis que Windows 7 a supprimé la bonne vieille solution (clic droit sur le bouton de l'application dans la barre des tâches), il existe une solution encore meilleure, postée par "kmote" le 18 juin 2013 à 17h45 sous "Emthieuses" 10 oct 2010 08:50: «Sous Windows 7, vous devez SHIFT-clic droit sur le bouton de la barre des tâches»
Michel Merlin

1
J'ai essayé tous les autres pas, mais initier le mouvement avec les touches fléchées est ce qui a finalement été fait ... waouh. Et je suis ce proche de réinstaller l'application!
Philip

1
Avec l'application que je traite, Restore est grisé, mais Maximize fonctionne dans cette phase et le déplacement n'est pas nécessaire. Maximiser pour la victoire!
Brian Bulkowski

Je fais comme ci-dessus mais le combo suivant fonctionne également pour moi, Alt + Tab, Alt + Espace, M, puis appuyez sur Echap, cela semble également fonctionner
Mz A

C'est presque 2020, toujours avec ça.
Mert

14

Sous Windows 10, pour utiliser l'ancien déplacement de la fenêtre avec les touches du curseur, vous devez Shiftappuyer sur la touche lorsque vous ouvrez le menu contextuel à partir de la barre des tâches.

entrez la description de l'image ici

Info de Comment Geek


3
Dans les versions actuelles de Windows 10, vous pouvez également survoler la barre de tâches pendant une seconde, ce qui fera apparaître une vue miniature de la fenêtre. En cliquant avec le bouton droit de la souris sur la vignette, le "vieux" menu contextuel se présente comme un clic-droit.
Coderer

1
@ Coderer: Le commentaire est vraiment utile, je ne le savais pas. Je pensais qu'ils l'avaient enlevé complètement.
Oak_3260548

J'avais totalement oublié ça! Je pense que vous pouvez également déplacer en faisant un clic droit si le bouton de la barre des tâches représente une fenêtre. Vous obtenez un menu contextuel différent s’il existe plusieurs fenêtres pour l’application en question.
Coderer

12

Vous pouvez cliquer avec le bouton droit sur le bouton du programme dans la barre des tâches, puis cliquer sur "Déplacer". Vous pouvez maintenant utiliser les flèches de votre clavier pour déplacer la fenêtre dans laquelle vous pouvez la voir. Quelques manipulations sont nécessaires, parfois les fenêtres se "coincent" sur les bords du moniteur. Vous pouvez aussi essayer d’utiliser la souris, mais le clavier est un peu plus fiable si vous ne pouvez pas voir la fenêtre pour le moment ;-)


2
Je ne connaissais pas le clavier, mais vous ne pouvez pas utiliser la souris s'ils sont hors écran, j'ai déjà essayé.
Matthew Scharley

2
Vous devriez pouvoir utiliser les touches de direction, même si elles sont hors écran, à moins qu'un élément non standard sur votre système ne l'empêche. Cela a toujours été ma réponse standard pour les personnes confrontées à ce problème.
music2myear le

9
De plus, après avoir appuyé sur au moins une touche de direction, la fenêtre est "attachée" à la souris et vous pouvez la déplacer avec votre souris (sans cliquer!). Cette approche clé-souris-souris est généralement plus rapide que l’utilisation de touches uniquement.
Daniel Rikowski

8
Sous Windows 7, vous devez SHIFT-clic droit sur le bouton de la barre des tâches.
kmote

C'est la seule solution qui a fonctionné pour moi ...
sebagomez

8

Avant la barre des tâches, je réglais ce problème Alt+Spaceen faisant apparaître le menu de la fenêtre, puis Mpour la fonction de déplacement. Les touches fléchées vous permettraient alors de revenir à l'écran de la fenêtre.


+1 avec une mise en garde sur le fait qu'ils ne bougeront pas s'ils sont maximisés sur un écran. Cela peut poser problème si les fenêtres ne sont pas simplement "au-delà des limites" mais sur un écran factice. Ils peuvent être pour le PO, car maximiser aurait dû couvrir l’ensemble de la résolution de l’écran occupé.
mckenzm

8

Un autre moyen rapide consiste à cliquer avec le bouton de la souris sur la barre des tâches et à sélectionner Cascade Windows.


4
C'est une façon assez laide de le faire car cela affectera toutes mes fenêtres ouvertes (et j'ai généralement au moins un navigateur ouvert aussi, sinon une demi-douzaine d'autres)
Matthew Scharley

1
C'est vrai, c'est le plus rapide cependant. Aussi, vous pouvez fermer la fenêtre qui était hors écran et utiliser annuler la cascade après celle qui restaurera les positions des fenêtres. Je ne sais pas si cela restaurera également la position de la fenêtre qui était hors écran à cette position car je ne peux pas l'essayer (il n'y a qu'un seul moniteur).
T. Kaltnekar

5

J'ai rencontré ce problème et absolument rien ne fonctionnait pour moi. Je suis donc allé dans le Gestionnaire des tâches et j'ai cliqué avec le bouton droit sur le programme qui était hors écran. Basculer vers n'a pas fonctionné, ni mis à l'avant. À noter, il s’agissait d’une fenêtre statique, l’agrandissement n’était donc pas disponible via la barre des tâches. Mais vous pouvez maximiser via le gestionnaire de tâches, et cela l'amène à votre écran principal! De là, vous pouvez faire ce que vous voulez avec la fenêtre. :)


Merci pour cette réponse. Un clic droit et maximiser dans le Gestionnaire des tâches était la seule chose qui fonctionnait pour moi.
un codeur

5

Edit: Discontinued selon les commentaires

Pour résoudre rapidement ce problème à l’avenir et pour positionner les applications sur le double écran, je peux recommander Winsplit Revolution . La résolution de ce problème revient à appuyer simplement sur les touches Ctrl-Alt et une touche numérique pour remettre la fenêtre exactement à l'endroit souhaité.


malheureusement ce n'est plus gratuit
Charbel

Oui, ça a l'air bien, mais j'ai une politique stricte de ne pas payer sauf si je veux le faire. Comme pour Lastpass ou Acronis True Image. Et avec mon emploi du temps, il est fort possible que le problème ne se répète pas plus de 30 jours plus tard, de sorte que les périodes d’essai ne me conviennent pas.
SDsolar

1
WinSplit Revolution a malheureusement été abandonné et aucune nouvelle mise à jour n'est à venir. "Remplacé par" MaxTo ", actuellement USD $ 19
TT--

1
WinSplit-Revolution est un logiciel gratuit et reste disponible au téléchargement si vous le recherchez . La dernière version, 11.04, a été publiée en 2011. Elle fonctionne sous Windows 10. La source de la version v9.02 modifiée est disponible dans GitHub sous le nom WinSplit-Reloaded . C'est un produit génial.
Ben

@Ben, merci pour les liens. Je suis allé au lien dans la réponse et ai cité cette information. (La page se lit désormais comme suit: "WinSplit Revolution n’est plus disponible, mais nous offrons une excellente alternative.") Le fichier lisezmoi contenu dans ce fork de GitHub est informatif et mentionne spécifiquement "la version 9.02, publiée publiquement en 2009".
TT--

3

J'utilise un petit outil astucieux appelé Shove-it qui vérifie simplement si une fenêtre se trouve en dehors du bord de l'écran et la replace à nouveau sur l'écran. C'est un logiciel ancien (et la page d'accueil le prouve) mais fonctionne sur toutes les versions de Windows.


Link est maintenant mort :-(
danio

:-( D'un autre côté, cette solution a peut-être survécu. Est-ce que cela se produit toujours? Cela fait des années que je
n'en


Le programme d'installation se verrouille pour moi (sous Windows 7).
mhenry1384

@ mhenry1384 Eh bien , il est de 14 ans (et 32 bits), nous ne pouvons pas attendre vraiment de travailler avec des versions nouvelles ..... (64 bits?)
Torben Gundtofte-Bruun

3

Je viens de rencontrer ce problème avec l'interface graphique Git sous Windows 7, qui est basée sur Tk et, en tant que telle, a tendance à s'effondrer de façon étrange par moments sous Windows. J'ai essayé de frapper Alt-Space et d'utiliser la commande move pour le ramener à la vue, mais cela semblait bloqué. Le maximiser le ramènerait, mais si je le remettais en mode fenêtré, cela disparaîtrait à nouveau.

Ce que j’ai fait, c’est de l’agrandir, de saisir la barre de titre et de la faire glisser sur le côté de l’écran de sorte qu’Aero Snap l’ait dimensionnée à la moitié de la taille de l’écran et placée en mode fenêtré. Après cela, je l'ai écarté du côté de l'écran et en ai repris le contrôle.


Tant de réponses plus hautement votées, mais pas une seule n'a fonctionné pour moi. Cela a fait.
Dan Nissenbaum

Git GUI m'a également amené ici, mais je l'ai résolu avec la combinaison Shift-RightClick (sur l'icône de la barre des tâches), Déplacer, les touches fléchées, puis la souris (pour placer la fenêtre là où elle devrait être). La solution d'Emthially / Brad Patton fonctionne.
mcalex

1

J'ai eu le même problème avec Winamp. La seule solution (insatisfaisante) que j'ai trouvée jusqu'à présent: changer la résolution de l'écran en une résolution différente

Thomas


1

Vous pouvez utiliser NIRSOFT WinLister. J'ai remarqué que la méthode "Déplacer" n'était pas disponible sur Windows 7 lorsque vous utilisiez le thème classique. Diverses autres méthodes ont échoué. Je publie donc mon alternative "SI tout le reste échoue".

  1. Téléchargez l'application WinLister ici .

  2. Exécutez WinLister en tant qu’administrateur et sélectionnez la fenêtre que vous souhaitez revenir à l’écran. Ne pas exécuter en tant qu'administrateur ne donnera pas à l'application la possibilité de déplacer les fenêtres pour vous.

  3. Faites un clic droit et sélectionnez «Centrer les fenêtres sélectionnées» et vous avez terminé!

Captures d'écran ici .


1
Bon conseil - c'est la seule solution qui a fonctionné pour moi pour les outils électriques MS TFS, car Alt-Space n'a ouvert que le menu de la fenêtre propriétaire de l'explorateur Windows, et non la sous-fenêtre qui était hors écran.
danio

1

Dans certains cas, même si vous avez plusieurs écrans sur le site distant, il se peut que vous n’y ayez pas accès depuis votre site. Les raccourcis clavier ne fonctionneront pas car vous n’avez plus accès à aucune vue qui ne figure pas à l’écran.

Dans ce cas, si vous pouvez ouvrir des instances supplémentaires de l'application, faites-le. Les premières occurrences apparaîtront presque certainement dans la barre des tâches sous forme de fenêtres fantômes supplémentaires. Continuez comme ça. Ils finiront par peupler la vue principale. Utilisez ensuite l’icône de la barre des tâches pour cliquer avec le bouton droit de la souris et fermer les instances hors écran. Une fois qu’AUCUNE instance hors écran n’a été ouverte, fermez celles de l’écran principal. La prochaine fois que vous ouvrirez cette application, celle-ci apparaîtra sur l'écran principal et non "hors caméra".


1
De quoi parlez-vous: «emplacement distant», «votre emplacement», etc.…? Pourquoi l'utilisateur serait-il «verrouillé hors de toute vue n'apparaissant pas sur votre écran»?
Scott

Il veut dire VM, Citrix, RDP, etc. Vous n'allez pas lire multi-4K sur votre téléphone. C'est également le cas pour les écrans factices. Certains utilisateurs d’entreprise utilisent un dongle HDMI pour dissimuler des éléments de bureau obligatoires. Revenir à 1 écran réel les fait reculer.
mckenzm

1

Sélectionnez la fenêtre (par exemple, en utilisant Alt+ Tab). Ensuite, maintenez Alt+ F7et déplacez la fenêtre avec les touches fléchées. Terminé.

Parfois, il est difficile de savoir aveuglément où se trouve la fenêtre cachée (et donc comment la déplacer vers l'écran). Des animations lors de la sélection de la fenêtre peuvent être utiles. En raison de ma configuration (j’utilise parfois un deuxième écran au-dessus de l’écran de mon ordinateur portable), les fenêtres hors écran sont généralement affichées en dessous. Tenir Alt+ F7+ les Upmet donc en évidence.


1

Pour ceux qui connaissent PowerShell, essayez ceci:

  • Copiez et collez le code ci-dessous dans une session PowerShell ISE.
  • Hit Run
  • Appuyez sur ALT + TAB / que vous voulez pour activer la fenêtre hors écran.
  • Attendez quelques instants (5 secondes après avoir exécuté le script)
  • La fenêtre devrait maintenant apparaître.

Si la fenêtre est une fenêtre principale, elle sera déplacée vers le coin supérieur gauche de l'écran.

Si la fenêtre est une fenêtre enfant d'un autre programme, son coin supérieur gauche sera aligné sur le coin supérieur gauche de sa fenêtre mère.

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

Code original ici: https://gist.githubusercontent.com/JohnLBevan/1593bbb860c2d2af436a1c9414e8adfa/


0

placez le curseur sur la barre des tâches .. cliquez avec le bouton droit de la souris sur la fenêtre d'affichage côte à côte pour l'afficher à l'écran..et pour ramener le curseur sur la barre des tâches, cliquez avec le bouton droit de la souris et sélectionnez annuler la fenêtre d'affichage côte à côte ..


0

Vous pouvez également utiliser UltraMon (non-libre, Windows, GUI) pour configurer un raccourci clavier afin de déplacer une fenêtre vers le moniteur suivant ou précédent.

entrez la description de l'image ici


0

De Déplacer une fenêtre vers le moniteur inférieur / supérieur avec un raccourci sur Windows par Tymric :

J'ai écrit un script AHK.

Usage:

Win+ Alt+ Arrow: Déplace la fenêtre active sur le moniteur dont le sens est indiqué par la flèche. Notez que cela peut entraîner le déplacement de votre fenêtre en dehors de l'écran si vous essayez de monter à partir du moniteur 2 ou directement du moniteur 3 dans votre configuration. Je vais le mettre à jour dans le futur.

Win+ Alt+ Number: Déplace la fenêtre active vers le numéro de moniteur donné

#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

J'ai écrit un outil appelé Borderline qui permet de déplacer automatiquement les fenêtres hors écran à l'écran lorsqu'il est exécuté. Vous devez l'exécuter quand vous en avez besoin (cela fonctionne mieux si vous lui attribuez un raccourci clavier ou si vous le placez dans le menu Démarrer), mais cela signifie également qu'il n'est pas toujours exécuté en arrière-plan.


0

Parfois, cela résolue:

  • Cliquez sur WinKey+P
  • Choisissez Extendou une autre option, et toutes les fenêtres seront en cascade. Déplacez la fenêtre souhaitée vers l'écran principal.

-1

Comment déplacer des fenêtres qui s'ouvrent hors écran?

Diminuez temporairement la résolution de l'écran, saisissez la barre du haut avec la souris et déplacez le centre. Attendez que le système rétablisse automatiquement la résolution.

  1. DeskTop -> Résolution d'écran
  2. Sélectionnez votre moniteur, passez à une résolution inférieure à celle du paramètre actuel.
  3. Le système affiche la nouvelle résolution et vous demande si vous souhaitez conserver ou revenir en 30 secondes.
  4. Dans les 30 secondes qui suivent, saisissez la fenêtre manquante et déplacez-la vers le centre.
  5. Attendez que le délai d'attente soit automatiquement rétabli.

Fenêtre déplacée ...

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.