6 votes

Moniteurs multiples - comment contrôler l'emplacement des boîtes de dialogue

Je travaille sur un système à quatre moniteurs avec deux cartes graphiques Nvidia à double sortie. Divers logiciels font occasionnellement apparaître des boîtes de dialogue contenant des questions ou des messages. J'aimerais que ces boîtes de dialogue apparaissent toujours sur le même moniteur que la fenêtre principale du logiciel, mais ce n'est pas le cas. Existe-t-il un moyen d'indiquer au système sur quel moniteur il doit placer les boîtes de dialogue ?

3voto

ajushi Points 466

D'après mon expérience, cela varie en fonction de l'application. Certaines font des appels système pour que les boîtes de dialogue s'ouvrent toujours sur le moniteur "principal" ou "primaire". D'autres s'ouvrent là où elles ont été ouvertes la dernière fois. D'autres encore suivent l'application et s'ouvrent sur son moniteur. Cette incohérence est plus que frustrante et, après avoir utilisé des systèmes XP multi-moniteurs pendant près d'une décennie, je peux dire que je n'ai pas trouvé de moyen de les unifier. De telles incohérences sont l'une des nombreuses raisons pour lesquelles je suis passé au Mac.

2voto

Shawn Points 386

Il y a un script VBS trouvé aquí appelé "PositionDialogs". Vous l'exécutez au démarrage du système, et il déplacera toute boîte de dialogue ouverte ultérieurement vers le moniteur sur lequel le programme parent est exécuté.

1voto

Don Honabach Points 11

Je possède une carte AMD FirePro Multi-Monitor. Cette carte prend en charge HydraVision d'AMD qui comprend un gestionnaire de bureau. L'une des options disponibles est de "Préserver la position et la taille de l'application", et il y a aussi une option pour "Activer le repositionnement des dialogues" que vous pouvez régler sur "Afficher sur l'écran X préféré" ou "Afficher sur l'écran de l'application".

0voto

bubu Points 9693

Juste pour compléter la réponse de @peelman :

Pour prendre en charge plusieurs moniteurs dans un programme - vous devez appeler EnumDisplayMonitors et fournir une fonction de rappel pour chaque moniteur. (En api win32, d'ailleurs...)

Ver http://msdn.microsoft.com/en-us/library/dd162610%28VS.85%29.aspx pour plus de détails

0voto

MaQleod Points 12844

J'ai eu ce même problème au travail sur un système Windows XP. La solution que j'ai trouvée consiste à utiliser un langage de script appelé AutoIt . Il existe une bibliothèque permettant de travailler avec plusieurs moniteurs . Vous pouvez utiliser la librairie pour spécifier un moniteur et y centrer automatiquement une fenêtre en fonction de certains critères (par exemple le titre de la fenêtre ou le nom du processus). Vous pouvez également utiliser des fonctions intégrées pour spécifier des coordonnées exactes si vous le souhaitez.

Pour l'essentiel, vous devez avoir un script en boucle en arrière-plan qui surveille les fenêtres spécifiques et les déplace lorsqu'elles apparaissent. Si vous voulez plus de détails, je peux fournir un squelette général avec quelques exemples d'options.

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