300 votes

Comment déplacer les fenêtres qui s'ouvrent hors de l'écran ?

J'ai une configuration à deux écrans, et j'ai récemment joué avec les paramètres de positionnement, et certaines de mes applications à fenêtre unique font la faveur de conserver l'endroit où elles ont été fermées la dernière fois, et de s'ouvrir dans la même position plus tard. 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 à entrer dans la zone visible ?

4 votes

C'est toujours un problème dans Windows 10 ! J'ai 3 moniteurs et je n'en utilise qu'un "ici et là"... quand je le fais, puis que j'arrête de l'utiliser, certains programmes ouverts s'ouvrent par défaut sur celui-ci. Je dois faire le win+flèche gauche pour finalement le faire revenir sur le moniteur principal.

4 votes

Toujours un problème sept ans plus tard...

0 votes

Duplicata possible de superuser.com/questions/1206086/

3voto

R C E Mortimer Points 31

Je viens de rencontrer ce problème avec l'interface graphique de Git sous Windows 7, qui est basée sur Tk et qui, en tant que telle, a tendance à se comporter de manière étrange sous Windows. J'ai essayé d'appuyer sur Alt-Space et d'utiliser la commande de déplacement pour la remettre en vue, mais elle semblait bloquée. En le maximisant, je le ramenais, mais si je le remettais en mode fenêtré, il disparaissait à nouveau.

Je l'ai maximisé, j'ai saisi la barre de titre et je l'ai fait glisser sur le côté de l'écran pour qu'Aero Snap le réduise à la moitié de la taille de l'écran et le mette en mode fenêtré. Ensuite, je l'ai fait glisser sur le côté de l'écran et j'ai repris le contrôle de l'écran.

1voto

Thomas Points 11

J'ai eu le même problème avec winamp. La seule solution (insatisfaisante) que j'ai trouvée jusqu'à présent est de changer la résolution de l'écran et de revenir en arrière.

Thomas

1voto

Georg Jung Points 1111

Sélectionnez la fenêtre (par exemple, en utilisant la fonction Alt + Tab ). On considère alors Alt + F7 et déplacez la fenêtre avec les touches fléchées pour la remettre en vue. Terminé.

Il est parfois difficile de savoir à l'aveuglette où se trouve la fenêtre cachée (et donc comment la déplacer vers l'écran). Des animations pendant la sélection de la fenêtre pourraient être utiles. En raison de ma configuration (j'utilise occasionnellement un deuxième écran au-dessus de l'écran de mon ordinateur portable), les fenêtres qui apparaissent hors écran sont généralement en dessous. Tenir Alt + F7 + Up les met donc en évidence.

1voto

Greg Mayer Points 11

Dans certains cas, malgré la présence de plusieurs écrans sur le site distant, il se peut que vous n'y ayez pas accès depuis votre emplacement. Les commandes clés ne fonctionneront pas car vous avez été verrouillé pour toute vue qui n'est pas sur votre écran.

Dans ce cas, si vous pouvez ouvrir des instances supplémentaires de l'application, faites-le. Les premières instances apparaîtront très certainement dans la barre des tâches comme autant de Windows fantômes. Continuez à le faire. Finalement, elles commenceront à remplir la vue principale. Utilisez alors l'icône de la barre des tâches pour faire un clic droit et fermer les instances hors écran. Une fois qu'il n'y a plus d'instances hors écran ouvertes, fermez celles de l'écran principal. La prochaine fois que vous ouvrirez cette application, elle apparaîtra sur l'écran principal et non plus "hors caméra".

1voto

JohnLBevan Points 526

Pour ceux qui sont familiers avec PowerShell, essayez ceci :

  • Copiez et collez le code ci-dessous dans une session PowerShell ISE.
  • Hit Run
  • Appuyez sur ALT+TAB/quelque chose pour rendre la fenêtre hors écran active.
  • Attendez quelques instants (5 secondes après avoir appuyé sur la touche RUN du script).
  • La fenêtre devrait maintenant apparaître.

Si la fenêtre est une fenêtre principale, elle sera déplacée dans 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 parent.

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

Le code original est ici : https://gist.githubusercontent.com/JohnLBevan/1593bbb860c2d2af436a1c9414e8adfa/

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X