web-dev-qa-db-fra.com

Comment restaurer les fenêtres sur leur écran d'origine lors de la reconnexion d'un moniteur externe?

Imagine que tu fais ça ...

  1. Connectez votre moniteur externe.
  2. Démarrez certaines applications, certaines sur chaque moniteur.
  3. Déconnectez le moniteur externe.
    • Tout va bien car toutes les applications déplacent le moniteur principal.
  4. Rebranchez le moniteur externe.
    • Les applications restent sur le moniteur principal, mais ce serait très agréable si elles revenaient sur le moniteur externe sur lequel elles étaient auparavant.

Utilisation de Windows 10. Existe-t-il des solutions ou des solutions de contournement pour ramener automatiquement les applications sur le moniteur externe?

16
joelsand

J'utilise UltraMon (je crois que c'est Open Source) et dans certaines circonstances, il peut le faire s'il est configuré correctement.

Commencez par installer le programme UltraMon . Ensuite, quand il est en marche, disons maintenant que vous n’avez qu’un seul moniteur branché (peu importe le nombre), créez un profil:

  • Clic droit sur l'icône dans le systray
  • Clic gauche Profils d'affichage
  • Cliquez avec le bouton gauche sur le nouveau profil d'affichage, nommez-le (par exemple, ce que je fais est de lui attribuer un nombre reflétant le nombre de moniteurs que vous utilisez, comme Profil 1).
  • Maintenant vous en avez un. Cool, vous pouvez créer un fond d'écran pour chaque moniteur, économiseur d'écran, etc. Obtenez toutes vos icônes comme vous le souhaitez.
  • Clic droit sur l'icône systray.
  • Clic gauche sur les icônes du bureau Gauche Enregistrer les positions

Maintenant, connectez/déconnectez les autres écrans. Créez un profil pour cette nouvelle configuration. Appelez peut-être "Profil 7" pour avoir branché 7 moniteurs. Enregistrez maintenant les positions des icônes comme vous le souhaitez.

Vous pouvez facilement utiliser cet outil pour basculer entre les profils. Vous pouvez facilement placer des raccourcis sur le bureau pour basculer rapidement entre les profils.

Enfin, dans les options avancées, vous pouvez indiquer à UltraMon de le faire tout le temps, automatiquement pour vous, mais cela peut nécessiter une version payante (taxe unique à vie).

J'ai acheté UltraMon en 2009 pour 19,99 $ et cela en valait la peine.

1
PyTis

J'ai déjà utilisé un outil Autohotkey appelé Windowpad pour cela. Apparemment, cela a maintenant été remplacé par une nouvelle version améliorée appelée WindowPadX . Faites défiler vers le bas pour voir le readme. La documentation complète est ici .

C'était crucial pour moi sur plusieurs moniteurs. J'aimais pouvoir passer facilement d'une fenêtre à l'autre.

Vous pouvez définir des raccourcis clavier pour les éléments suivants (à partir du fichier Lisez-moi):

Actions possibles à configurer sur les raccourcis clavier

Actions de la fenêtre

Multi-moniteur

WPXA_MoveWindowToMonitor: déplace la fenêtre entre les écrans, en préservant la position et la taille relatives.

WPXA_MinimizeWindowsOnMonitor: Réduit toutes les fenêtres de l’écran donné.

WPXA_GatherWindowsOnMonitor: "Rassembler" des fenêtres sur un écran spécifique.

WPXA_FillVirtualScreen: Développez la fenêtre pour remplir l'écran virtuel (tous les moniteurs).

Général

WPXA_MaximizeToggle: Agrandissez ou restaurez la fenêtre.

WPXA_TopToggle: Toogles "AlwaysOnTop" pour une fenêtre donnée

WPXA_RollToggle: Bascule "Rouler/dérouler" pour une fenêtre donnée WPXA_Move: déplace et redimensionne la fenêtre selon un concept de "pad".

WPXA_TileLast2Windows: Mosaïque active et dernière fenêtre

Actions de la souris multi-moniteur

WPXA_MoveMouseToMonitor: Déplace la souris au centre du moniteur donné

WPXA_ClipCursorToCurrentMonitorToggle: Toogles coupe la souris au moniteur actuel

WPXA_ClipCursorToMonitor: Clips (restreint) la souris au moniteur donné

Actions générales de la souris

WPXA_MouseLocator: trouvez facilement la souris

Vous pouvez le trouver, ainsi que d’autres outils, parmi "une liste organisée de superbes bibliothèques, distributions, scripts, outils et ressources AutoHotkey" ici

1
ludinom

Certains gpu ont un support pour cela, comme le panneau de configuration Nvidia qui vous permet d’appliquer des paramètres pour cela et beaucoup d’autres fonctionnalités.

Ou vous pouvez simplement configurer les paramètres d'affichage multiples pour qu'ils reflètent le bureau (au lieu de l'étendre) sur tous les moniteurs si cela vous convient.

0
CymaTechs

Les programmes Windows - appelés app (lication) de nos jours - peuvent enregistrer la position de leur fenêtre dans un fichier ou le registre. Si l’on sait où se trouvent ces données, elles peuvent être modifiées manuellement dans le bloc-notes ou l’éditeur de registre. (des entrées de registre incorrectes peuvent causer l'instabilité de Windows ou des erreurs)

La création d’un moyen automatisé devrait être facile pour une personne possédant quelques compétences en matière de codage et elle peut être lancée au besoin (c’est-à-dire une fois que le moniteur est reconnecté). Cela pourrait être fait par un script d'action, un fichier .bat ou une application native.

Les applications en question devront être fermées auparavant, mais pour que les positions souhaitées soient mises en œuvre.

Une autre possibilité avec une fonctionnalité "en ligne" (sans redémarrage de l'application) serait que Windows autorise l'accès à une fenêtre d'un processus à un autre. Une approche pourrait être les fonctions SendMessage et WindowProc.

(à ce stade, je ne sais pas si cela s'applique uniquement aux threads de l'application parent ou s'il peut également être effectué par des threads d'autres applications ... et nécessite bien sûr de bonnes connaissances en programmation pour Windows)

https://msdn.Microsoft.com/en-us/library/windows/desktop/ms644950%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396

Envoie le message spécifié à une fenêtre ou à des fenêtres. [...] Si la fenêtre spécifiée a été créée par le thread appelant, la procédure de fenêtre est appelée immédiatement en tant que sous-routine. Si la fenêtre spécifiée a été créée par un thread différent, le système passe sur ce thread et appelle la procédure de fenêtre appropriée.

Message WM_Move https://docs.Microsoft.com/en-us/windows/desktop/winmsg/wm-move

Envoyé après le déplacement d'une fenêtre.

Une fenêtre reçoit ce message via sa fonction WindowProc.

https://msdn.Microsoft.com/en-us/library/ms633573%28v=VS.85%29.aspx?f=255&MSPPError=-2147217396

Une fonction définie par l'application qui traite les messages envoyés à une fenêtre. [...]

0
DigitalBlade969

Il n'y a pas de solution pour cela. Vous devez utiliser la touche Windows du clavier avec les flèches gauche/droite pour vous déplacer entre les écrans, ou la touche Windows + Maj + Gauche/Droite pour accéder à des parties de l'écran.

La touche Windows + P aide également dans les situations à plusieurs moniteurs pour faciliter la mise en miroir/extension, etc.

Mais encore une fois, une fois que vous avez déconnecté votre écran, si ces fenêtres contenaient des métadonnées, elles disparaissent ensuite.

0
Pixel