Bonjour,
Dans le fonctionnement actuel, tu prends une chaine de caractères en (HGBD)* que tu mets dans un fichier pour ensuite travailler sur le nombre de lignes du fichier, c'est un peu ajouter du boulot pour rien ^^
Voila une version beaucoup plus légère que le script précédent (par contre sur le principe je n'ai rien changé aux actions MouseClick à part les MousegetPos qui n'étaient utilisés nulle part donc hop je les ai fait sauter ^^, à toi de voir si il s'agit des bonnes positions que tu souhaites).
Code : Tout sélectionner
$code = InputBox("Mouse","Veuillez entrer H, B, G ou D :")
Local $lettres = StringSplit(StringLower($code),"")
For $i = 1 To $lettres[0]
Switch $lettres[$i]
Case "h"
mouseclick("left",751,9)
Case "b"
mouseclick("left",751,835)
Case "g"
mouseclick("left",12,441)
Case "d"
mouseclick("left",1570,441)
Case Else
; Rien
EndSwitch
Next
Exit
A bientôt.
PS: Pour quelque chose de plus générique, ça serait bien de ne pas donner des valeurs en 751,9 ou 1570,441. Récupère la fenêtre active, choppe ses coordonnées, calcule les points d'ancrage voulus (c'est pas bien compliqué) et fait les clics là où il faut en prenant les coordonnées trouvées. Exemple tout con, ton script fait de la m***e sur un écran en 1024 par 768, ou sur une fenêtre qui n'est pas en plein écran ^^ Version modifiée :
Code : Tout sélectionner
Local $coords = [0,0,@DesktopWidth,@DesktopHeight,10] ; posX, posY, Largeur, Hauteur, Bordure
$code = InputBox("Mouse","Veuillez entrer H, B, G ou D :")
Local $lettres = StringSplit(StringLower($code),"")
For $i = 1 To $lettres[0]
Switch $lettres[$i]
Case "h" ; Clic en [posX+Largeur/2, posY+Bordure]
mouseclick("left",$coords[0]+$coords[2]/2,$coords[1]+$coords[4])
Case "b" ; Clic en [posX+Largeur/2, posY+Hauteur-Bordure]
mouseclick("left",$coords[0]+$coords[2]/2,$coords[1]+$coords[3]-$coords[4])
Case "g" ; Clic en [posX+Bordure, posY+Hauteur/2]
mouseclick("left",$coords[0]+$coords[4],$coords[1]+$coords[3]/2)
Case "d" ; Clic en [posX+Largeur-Bordure, posY+Hauteur/2]
mouseclick("left",$coords[0]+$coords[2]-$coords[4],$coords[1]+$coords[3]/2)
Case Else
; Rien
EndSwitch
Next
Exit
Avec ce script tu n'a plus qu'à travailler sur les valeurs fournies par le tableau $coords (dans l'exemple précédent il prend en charge le bureau en entier avec un décalage de 10pixels).