Ce qui détermine le moniteur de mon appli fonctionne sur?
Je suis sur Windows et j'ai deux moniteurs.
Certaines applications toujours démarrer sur mon moniteur principal, peu importe où ils ont été quand j'ai fermé.
D'autres seront toujours démarrer sur le secondaire moniteur, n'importe où ils ont été quand j'ai fermé.
Est-il un paramètre de registre enterré quelque part, que je peux manipuler de contrôle qui surveillent le lancement des applications par défaut?
@rp: j'ai Ultramon, et je suis d'accord qu'il est indispensable, au point que Microsoft recommande de les acheter et de les incorporer dans leur système d'exploitation. Mais comme vous l'avez dit, il ne permet pas de contrôler le moniteur par défaut d'un programme se lance dans l'.
- Ultramon est un utilitaire indispensable. Je l'ai utilisé pendant des années.
- Ce haut-trafic la question commence à ressembler à une annonce pour Ultramon. DisplayFusion doit être mentionné. Je ne suis pas associé avec la société, juste de l'amour ce que le produit fait pour moi. Un troisième bien connue est le "Actual Multiple monitors"
- Il est intéressant de noter que lorsque j'ai écrit ce retour en '08, j'avais windows xp. UltraMon est alors utile, mais je ne peux pas se porter garant pour les versions plus récentes de Windows.
Vous devez vous connecter pour publier un commentaire.
Correctement écrit applications Windows qui veulent sauver leur emplacement d'une exécution permettra d'enregistrer les résultats de
GetWindowPlacement()
avant de s'arrêter, puis utilisezSetWindowPlacement()
au démarrage pour rétablir leur position.Fréquemment, apps vous permettra de stocker les résultats de
GetWindowPlacement()
dans le registre comme unREG_BINARY
pour une utilisation facile.La
WINDOWPLACEMENT
route présente de nombreux avantages par rapport aux autres méthodes:SetWindowPlacement()
va automatiquement s'assurer que la fenêtre n'est pas entièrement à l'écranEnfin, les programmes qui traitent de la fenêtre de restauration de correctement prendre en compte les
nCmdShow
paramètre passé à partir du shell. Ce paramètre est défini dans le raccourci qui lance l'application (Normal, Minimiser, Maximiser):Pour les non-applications Win32, il est important d'être sûr que la méthode que vous utilisez pour sauvegarder/restaurer la position de la fenêtre finalement utilise le même appel sous-jacent, dans le cas contraire (comme Java Swing du
setBounds()
/getBounds()
problème), vous finirez écrire beaucoup de code supplémentaire pour re-mettre en œuvre la fonctionnalité qui est déjà là dans leWINDOWPLACEMENT
fonctions.Voici ce que j'ai trouvé. Si vous voulez une application pour l'ouvrir sur votre moniteur secondaire par défaut, procédez de la manière suivante:
L'application va maintenant s'ouvrir sur ce moniteur par défaut. Si vous voulez le changer pour un autre moniteur, il suffit de suivre les étapes 1 à 6 de nouveau.
shift-windowskey-arrowkey
touche de raccourci ou il ne fonctionnera pas.Obtenir UltraMon. Rapidement.
http://realtimesoft.com/ultramon/
Il ne vous permet pas de spécifier ce que surveiller une application démarre, mais il vous permet de passer d'une appli à l'autre moniteur, et de maintenir son ratio d'aspect intact, avec un clic de souris. C'est un utilitaire très pratique.
La plupart des programmes de démarrage où vous avez quitté. Donc, si vous avez deux écrans au travail, mais seulement un à la maison, il est possible de démarrer un ordinateur à la maison et de ne pas voir les applications en cours d'exécution sur l'autre moniteur (qui aujourd'hui n'est pas là). UltrMon vous permet également de déplacer ces orphelins apps retour à l'écran principal rapidement et facilement.
Ce n'est pas exactement la réponse à cette question, mais j'ai résolu ce problème avec le
Shift + Win + [left,right] arrow keys
raccourci. Vous pouvez déplacer la fenêtre active à un autre moniteur avec elle.Je suis assez sûr que le moniteur principal est la valeur par défaut. Si l'application a été codé décemment, quand il est fermé, il va se rappeler où il était et rouvrira là, mais-comme vous l'avez remarqué, il n'est pas un comportement par défaut.
EDIT: La façon dont j'ai l'habitude de le faire est d'avoir l'emplacement stocké dans les paramètres de l'application. Sur la charge, si il n'y a pas de valeur, la valeur par défaut est le centre de l'écran. À la clôture de la forme, il enregistre sa position. De cette façon, chaque fois qu'il l'ouvre, c'est là où il était la dernière. Je ne connais pas de moyen simple de le dire à la mise sur le second moniteur de la première heure automatiquement, cependant.
-- Kevin Fairchild
Remarque importante: Si vous vous souvenez de la position de votre application et l'arrêt, puis de nouveau à cette position, gardez à l'esprit que le moniteur de l'utilisateur de configuration peuvent avoir changé pendant que votre application a été fermée.
Les utilisateurs d'ordinateur portable, par exemple, changent souvent de la configuration de l'affichage. Lorsqu'il est connecté, il peut être un 2ème moniteur qui disparaît quand non. Si l'utilisateur ferme une application qui a été en cours d'exécution sur le 2ème moniteur et le ré-ouvre l'application lorsque le moniteur est déconnecté, la restauration de la fenêtre à la précédente coordonnées laisser complètement hors de l'écran.
Pour déterminer comment grand que l'écran est vraiment, découvrez GetSystemMetrics.
Donc j'ai eu ce problème avec Adobe Reader 9.0. En quelque sorte, le programme a oublié de l'ouvrir sur mon écran droit et a été constamment ouverture sur mon écran de gauche. La plupart des programmes vous permettent de glisser plus de, de maximiser l'écran, puis de le fermer et il se souviendra de. Eh bien, avec Adobe, j'ai eu à faire glisser, puis fermez-le avant de maximiser, dans l'ordre pour Windows souvenir de l'écran pour l'ouvrir la prochaine fois. Une fois que vous réglez-le sur le moniteur, ensuite vous pouvez l'agrandir. Je pense que c'est stupide, puisque presque tous les programmes de windows souvenez-vous de façon automatique, sans essayer de truquer un moyen pour XP à retenir.
Je suis d'accord, il y a quelques applications que vous pouvez configuré pour s'ouvrir sur un écran par la maximisation de droite ou en cliquant et en déplaçant/dimensionnement de l'écran, puis fermez et rouvrez-le. Cependant, il ya d'autres qui ne s'ouvre que sur l'écran principal.
Ce que j'ai fait pour résoudre: réglez le moniteur vous préférez têtu apps pour ouvrir, comme moniteur 1 et l'autre votre moniteur et 2, puis changer votre moniteur 2 à la primaire de sorte que vos paramètres de bureau et de la barre de démarrage restent. Espérons que cette aide.
Ne me touche pas à cela, mais je suis assez sûr il dépend de l'application elle-même. Je sais que beaucoup de toujours ouvert sur le moniteur principal, certains vont rouvrir le même écran qu'ils ont déjà exécuté dans, et certains que vous pouvez définir. Je sais par exemple que j'ai des raccourcis pour ouvrir des fenêtres de commande pour certains répertoires, et chacun a une option dans leurs propriétés à l'emplacement d'ouvrir la fenêtre. Alors que les Perspectives tout en souvient et s'ouvre dans le dernier écran, il a été ouvert en. Puis d'autres applications ouvertes en ce que jamais la fenêtre de l'objectif actuel est en.
Donc je ne suis pas sûr qu'il y est une façon de dire à chaque programme pour l'ouvrir. L'espoir qui aide certains.
J'ai remarqué que si j'ai mis un raccourci sur mon bureau sur un écran de l'application lancée peuvent apparaître sur l'écran (si que l'application ne permet pas de se repositionner).
Cela s'applique également à l'exécution des choses à partir de l'Explorateur Windows - si l'Explorateur est sur un écran de l'application lancée va reprendre le moniteur.
Encore une fois - je pense que c'est lors de l'ouverture de l'application spécifie la valeur par défaut (windows gérés) position. La plupart des applications semblent remplacer ce comportement par défaut en quelque sorte.
Une simple fenêtre créée comme fera ce:
hWnd = CreateWindow(windowClass, windowTitle, WS_VISIBLE | WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, SW_SHOW, CW_USEDEFAULT, 0, NULL, NULL, hInst, NULL);
Clic droit sur le raccourci et sélectionnez propriétés.
Assurez-vous que vous êtes sur l'Onglet "Raccourcis".
Activez la zone de liste déroulante et de le modifier pour Maximisée.
Cela peut aider dans le lancement du programme en plein écran sur le moniteur principal.