#include-once Func wa($snd = "",$sleep = 300) Opt ("WinWaitDelay",0) opt ("WinTitleMatchMode",2) ; FONCTION ; déclaration des variables ... vous pouvez changer aisément les valeurs de ses variables pour les adapter à vos préférences. ;si une valeur des variable est détecté entre deux séparateurs "|" , les prochains paramètres seront ;réservé pour l'exécution de cette fonction. Si rien n'est détecté, la commande send enverra le texte entre les séparateurs. ;Le premier paramètres est toujours réservé pour définir le titre de la fenêtre à activer et le deuxième pour du texte ; présent à l'intérieur de celle-ci ; déclaration des variables ... vous pouvez changer aisément les valeurs de ses variables pour les adapter à vos préférences. $cs ="#" ; ControlID, Send ControlSend $cs2 = "##" ; ControlID, Send1, Send2 ControlSend 2 strings $cs3 = "###" ; ControlID, Send1, Send2, Send3 ControlSend 3 strings $d = "S" ; Sleep delay Ajout d'un délai d'éxécution avant la suite du script $msg = "MSG" ; Titre, Texte Msgbox $dmsg = "DMSG" ; Titre, Texte Msgbox se fermant après 5 secondes $tmsg = "TMSG" ; Titre, Texte, Temps avant fermeture Msgbox fermant après X secondes (définit par le param 3) $cc = "CC" ; ControlID du bouton ControlClick sur le bouton spécifié $ccxy = "CCXY" ; ControlID, X, Y ControlClick sur le bouton spécifié au coordonnées X, Y $ccrxy = "ccrxy" ; ControlID, X, Y ControlClick (bouton droit) sur le bouton spécifié au coordonnées X, Y $mc = "MC" ; X, Y MouseClick au coordonnées X, Y. $mc2 = "MC2" ; X, Y MouseClick (2X) au coordonnées X, Y. $md = "MD" ; Bouton MouseDown ( Right, left ou Middle ) $mu = "MU" ; Bouton MouseUp ( Right, left ou Middle ) $mcr = "MCR" ; X, Y MouseClick ( bouton droit ) au coordonnées X, Y $mm = "MM" ; X, Y MouseMove au coordonnées X,Y $mw = "MW" ; Direction ( up ou Down ), Nb de clics MouseWheel $snd = StringSplit($snd, "|") $t = $snd[1] ; si vous voulez utiliser la fonction pour seulement activer la fenêtre au titre $t sans aucun autres paramètres, vous $tt = $snd[2] ; devrez ajoutez un séparateur à la fin ( la valeur de $tt sera alors automatiquement "" ) Local $reset WinWait($t,$tt) IF Not WinActive($t, $tt) Then WinActivate($t, $tt) WinWaitActive($t, $tt) For $i = 3 To $snd[0] WinWait($t,$tt) IF Not WinActive($t, $tt) Then WinActivate($t, $tt) WinWaitActive($t, $tt) ; CONTROL SEND Select Case $snd[$i] = $cs Sleep($sleep) ControlSend($t,$tt,$snd[$i+1],$snd[$i+2]) $reset = 2 ; Control Send 2 string au même ControlID Case $snd[$i] = $cs2 Sleep($sleep) ControlSend($t,$tt,$snd[$i+1],$snd[$i+2]) Sleep($sleep) ControlSend($t,$tt,$snd[$i+1],$snd[$i+3]) $reset = 3 ; Control Send 3 string au même control id Case $snd[$i] = $cs3 Sleep($sleep) ControlSend($t,$tt,$snd[$i+1],$snd[$i+2]) Sleep($sleep) ControlSend($t,$tt,$snd[$i+1],$snd[$i+3]) Sleep($sleep) ControlSend($t,$tt,$snd[$i+1],$snd[$i+4]) $reset = 4 ; DÉLAI SUPPLÉMENTAIRE Case $snd[$i] = $d Sleep($snd[$i+1]) $reset = 1 ; MESSAGE Case $snd[$i] = $msg Sleep($sleep) MsgBox(0,$snd[$i+1],$snd[$i+2]) $reset = 2 ; Message se fermant après 5 secondes Case $snd[$i] = $dmsg Sleep($sleep) MsgBox(0,$snd[$i+1],$snd[$i+2],"5") $reset = 2 ; Message se fermant après "X" secondes Case $snd[$i] = $tmsg Sleep($sleep) MsgBox(0,$snd[$i+2],$snd[$i+3],$snd[$i+1]) $reset = 3 ; Control Click sur Bouton (ControlID) Case $snd[$i] = $cc Sleep($sleep) ControlClick($t,$tt,$snd[$i+1]) $reset = 1 ; Control Click sur coordonnées Case $snd[$i] = $ccxy Sleep($sleep) ControlClick($t,$tt,$snd[$i+1],"","",$snd[$i+2],$snd[$i+3]) $reset = 3 ; Control Click avec bouton droit sur coordonnées Case $snd[$i] = $ccrxy Sleep($sleep) ControlClick($t,$tt,$snd[$i+1],"right","",$snd[$i+2],$snd[$i+3]) $reset = 3 ; Mouse Click Case $snd[$i] = $mc Sleep($sleep) MouseClick("left",$snd[$i+1],$snd[$i+2]) $reset = 2 ; Mouse Click 2 X Case $snd[$i] = $mc2 Sleep($sleep) MouseClick("left",$snd[$i+1],$snd[$i+2],2) $reset = 2 ; Mouse Down Case $snd[$i] = $md Sleep($sleep) MouseDown($snd[$i+1]) $reset = 1 ; Mouse Up Case $snd[$i] = $mu Sleep($sleep) MouseUp($snd[$i+1]) $reset = 1 ; Mouse Click Right Case $snd[$i] = $mcr Sleep($sleep) MouseClick("right",$snd[$i+1],$snd[$i+2]) $reset = 2 ; Mouse Move Case $snd[$i] = $mm Sleep($sleep) MouseMove($snd[$i+1],$snd[$i+2]) $reset = 2 ; Mouse Wheel Case $snd[$i] = $mw Sleep($sleep) MouseWheel($snd[$i+1],$snd[$i+2]) $reset = 2 ; SEND Case $snd[$i] <> "" Sleep($sleep) Send($snd[$i]) EndSelect ; Permet d'empêcher les valeurs suivant des paramètres ( contolSend, mouseClick, etc... ) d'ètre réutilisé dans des commandes "send" Select Case $reset = 1 $snd[$i+1] = "" Case $reset = 2 $snd[$i+1] = "" $snd[$i+2] = "" Case $reset = 3 $snd[$i+1] = "" $snd[$i+2] = "" $snd[$i+3] = "" Case $reset = 4 $snd[$i+1] = "" $snd[$i+2] = "" $snd[$i+3] = "" $snd[$i+4] = "" EndSelect $reset = 0 Next EndFunc