L'île Avalon > Multiboxing > AutoHotKey - Effet WoW Maximizer sans WoW Maximizer
AutoHotKey - Effet WoW Maximizer sans WoW MaximizerL'objectif de ce script est de nous permettre d'afficher 3 fenêtres de World of Warcraft sur 2 écrans de résolution différente, et cela sans même se poser de question ou sortir la calculette pour positionner vos écrans... Le principe du ScriptDans un premier temps, ce script va avoir pour but de nous demander, parmis les 3 World of Warcarf en cours d'exécution, lequel sera votre fenêtre de jeu principale. Dans un deuxième temps, le script va vous demander lequel de vos deux écrans est celui qui va devoir recevoir la fenêtre principale de World of Warcraft. Enfin, le script va positionner chacune des fenêtres du jeu et va générer 3 raccourcis claviers (CTRL+SHIFT+F10, CTRL+SHIFT+F11 et CTRL+SHIFT+F12) qui nous permettront de minimiser chacune des fenêtres du jeu (Car elle n'auront plus ni bordure, ni barre d'entête) Le Script, pas à pas et commentéOn a besoin de connaître laquelle, des 3 fenêtres de World of Warcraft, est celle qui sera la fenêtre principale. Pour cela, on va parcourir chacune d'entre elle est poser la question "est-elle la fenêtre principale ?" A noter que le script est conçu pour 3 fenêtres et il ne s'assure pas que l'on à bien 3 fenêtres. De tels tests feront peut-être l'objet d'un autre tutorial, qui sait ?... SplashTextOn, 400, , Le script cherche la fenêtre de votre personnage principal. Je ne m'attarde pas plus sur les explications concernant la recherche de la fenêtre principale, cela fait l'objet du Tutorial N°2 disponible sur dual-boxing.fr et si vous voulez en savoir plus je vous encourage à le consulter. Au final, on se retrouve avec une variable idMain qui correspond à notre fenêtre principale et deux variables, idAlt1 et idAlt2, pour les deux autres fenêtres. L'étape suivante consiste à connaître notre écran principal, là encore on va poser bêtement la question... On demande à l'utilisateur si son écran principal est le N°1, cela correspond au numéro que l'on retrouve dans les paramètres d'affichage de Windows lorsque l'on a plus d'un écran. ![]() MsgBox, 4,, Votre écran principal est-il le N°1 ? Une fois que l'on connaît notre écran principal, on peut en récupérer les propriétés de chacun. La variable Pri va comporter les propriétés de l'écran principal, et Mon celles de l'écran secondaire. Parmis ces propriétés on aura besoin de la position de l'écran qui sont accessibles par le bias des variables PriLeft, PriTop, PriRight et PriBottom pour l'écran principal, MonLeft, MonTop, MonRight et MonBottom pour l'autre. Maintenant que l'on connaît notre écran principal et notre fenêtre WoW principale, on va pouvoir positionner tous ce petit monde... Mais avant, il nous faut retirer les bordures et l'entête de chaque fenêtre de World of Warcraft, pour ça la fonction WinSet s'en charge. WinSet, Style, -0xC00000, ahk_id %idMain% WinSet est un peu une sorte de fonction multitâche, elle comporte un premier paramétre qui na nous permet de lui dire se que l'on attend d'elle. En l'occurence, ce paramètre doit recevoir la valeur "Style", ainsi WinSet saura que le veut toucher au style de la feuille. Le troisième paramètre lui nous permet de désigner la tâche à accomplir, -0xC00000 pour masquer l'entête et -0x40000 pour la bordure. Ultime étape avant d'en finir, celle du calcul du positionnement de chacune des fenêtres de World of Warcraft. Bien qu'ayant trois fenêtre, je ne vais calculer la position que des fenêtres secondaires, car la principale est en pseudo full-screen sur l'écran principal, ce n'est donc guère compliqué à calculer. Le positionnement des fenêtres additionnelles est simples :
Se qui nous donne : X := MonLeft Dernière étape, positionner enfin nos écrans. Pour cela, on utilise la fonction WinMove à laquelle on va transmettre les coordonnées de chacune des fenêtres. WinMove, ahk_id %idMain%,, PriLeft, PriTop, PriRight - PriLeft, PriBottom - PriTop Vous remarquerez que même la fenêtre principale est positionnée à l'aide de WinMove, on n'utilise pas WinMaximize car cette fonction ne permet pas de dire par rapport à quel écran on veut maximiser la fenêtre. Enfin, on définit nos trois raccourcis sans qui on ne pourrait plus réduire nos fenêtres... WinGet, appid, List, World of Warcraft Le Script au completRevoici l'intégralité du script, il vous suffit de le copier/coller dans AutoHotKey pour l'utiliser et de l'adapter à vos besoins. SplashTextOn, 400, , Le script cherche la fenêtre de votre personnage principal.
|