papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Envoyer des caractères vers la fenêtre active Sam 10 Jan 2015 - 18:29 | |
| Tout est expliqué dans les lignes REM - Spoiler:
- Code:
-
rem ============================================================================ rem SendKeys rem ============================================================================ ' Envoie une ou plusieurs entrées clavier vers la fenêtre active comme si ces ' dernières étaient saisies depuis le clavier. ' Syntaxe : SendKeys(string) ' string : Expression de chaîne spécifiant les entrées clavier à envoyer. ' Chaque touche est représentée par un ou plusieurs caractères. ' Pour spécifier un caractère unique, utilisez le caractère correspondant. ' Par exemple, pour représenter la lettre A, utilisez la chaîne "A". ' Pour représenter plusieurs caractères, entrez les caractères les uns à la ' suite des autres. ' Pour représenter les lettres A, B et C, utilisez la chaîne "ABC". ' ' Les signes plus (+), circonflexe (^), pourcentage (%), tilde (~), parenthèses ( ) ' possèdent des significations spéciales pour SendKeys. ' Pour spécifier l'un de ces caractères, incluez-le entre des accolades {} ' Par exemple, pour spécifier le signe plus, utilisez {+} ' Les crochets ([ ]) ne possèdent pas de signification particulière pour SendKeys, ' mais vous devez tout de même les inclure entre des accolades. ' Pour spécifier des accolades, utilisez {{} et {}}.
' Pour spécifier des caractères qui se sont pas affichés lorsque vous appuyez ' sur une touche, tels que ENTRÉE ou TAB, ainsi que des touches qui représentent ' des actions et non des caractères, utilisez les codes affichés dans le tableau suivant :
' Touche Code ' ESPACE ARRIÈRE {BACKSPACE}, {BS}, ou {BKSP} ' ARRÊT DÉFIL {BREAK} ' VERR. MAJ {CAPSLOCK} ' SUPPR ou SUPPRIMER {DELETE} ou {DEL} ' FLÈCHE VERS LE BAS {DOWN} ' FIN {END} ' ENTRÉE {ENTER} ou ~ ' ÉCHAP {ESC} ' AIDE {HELP} ' ORIGINE {HOME} ' INS OU INSER {INSERT} ou {INS} ' FLÈCHE GAUCHE {LEFT} ' VER NUM {NUMLOCK} ' PAGE SUIV {PGDN} ' PAGE PRÉC {PGUP} ' IMPR ÉCRAN {PRTSC} ' FLÈCHE DROITE {RIGHT} ' ARRÊT DÉFIL {SCROLLLOCK} ' TAB {TAB} ' FLÈCHE HAUT {UP} ' F1 {F1} ' F2 {F2} ' F3 {F3} ' F4 {F4} ' F5 {F5} ' F6 {F6} ' F7 {F7} ' F8 {F8} ' F9 {F9} ' F10 {F10} ' F11 {F11} ' F12 {F12} ' F13 {F13} ' F14 {F14} ' F15 {F15} ' F16 {F16}
' Pour spécifier des combinaisons de touches avec les touches MAJ, CTRL et ALT, ' faites précéder le code de la touche par un ou plusieurs des codes suivants : ' Touche Code ' MAJ + ' CTRL ^ ' ALT %
' Pour spécifier une combinaison dans laquelle la touche MAJ, CTRL et ALT ' doit être maintenue enfoncée alors que vous appuyez sur d'autres touches, ' incluez le code de ces touches entre parenthèses. ' Par exemple, pour indiquer que la touche MAJ doit être enfoncée alors que vous ' appuyez sur les touches E et C, utilisez "+(EC)". ' Pour spécifier que la touche MAJ doit être enfoncée alors que vous appuyez sur ' la touche E, suivi de la touche C sans que la touche MAJ ne soit enfoncée, ' utilisez "+EC".
' Pour indiquer la répétition de touches, utilisez la forme {touche nombre} ' Veillez à placer un espace entre la touche et le nombre de fois que cette ' touche doit être entrée. ' Par exemple: ' {LEFT 42} ' signifie l'activation de la touche FLÈCHE GAUCHE 42 fois. ' {h 10} ' indique que la touche H doit être appuyée 10 fois. rem ============================================================================ rem Exemple 1 rem Envoyer des caractères à un memo rem ============================================================================ dim i memo 10 : height 10,200 : font_bold 10 : font_color 10,0,0,255 : set_focus 10 memo 20 : left 20,200 : height 20,200 : font_bold 20 : font_color 20,255,0,0 :hide 20
SendKeys("+salut") : ' seule la lettre s est en majuscule SendKeys("+(tout)") : ' le mot tout est en majuscule SendKeys("le") SendKeys("monde") SendKeys("{* 30}") : ' 30 * SendKeys("+nous sommes le "+ date$) SendKeys("+il est : " + time$) rem ============================================================================ rem Exemple 2 rem Envoyer des caractères à la calculatrice rem ============================================================================ SendKeys_Calc("10{+}20~*30~") : ' Envoyer 10+20 + <ENTREE> *30 + <ENTREE> ; le résultat est 900 message "Arrêter la calculatrice" TaskKill("calc.exe") : ' Fermer la calculatrice show 20 : set_focus 20 : pause 500 rem ============================================================================ rem Exemple 3 rem Envoyer un texte au memo 20 rem ============================================================================ SendKeys("+c'est tout les amis!") for i = 10 to 0 step -1 SendKeys("+bye bye dans " + str$(i)+ " secondes") : pause 1000 next i rem ============================================================================ terminate
rem ============================================================================ ' Envoyer des caractères à la fenêtre active SUB SendKeys(key$) dim_local q$ q$ = chr$(34) file_open_write 9999,"SendKeys.vbs" file_writeln 9999,"set WshShell = WScript.CreateObject(" + q$ + "WScript.Shell" + q$ + ")" file_writeln 9999,"WshShell.SendKeys "+ q$ + key$ + q$ file_writeln 9999,"WshShell.SendKeys "+ q$ + "~" + q$ file_close 9999 execute_wait "SendKeys.vbs" file_delete "SendKeys.vbs" END_SUB rem ============================================================================ ' Envoyer des caractères à la calculatrice SUB SendKeys_Calc(key$) dim_local q$ q$ = chr$(34) file_open_write 9999,"SendKeys_Calc.vbs" file_writeln 9999,"set WshShell = WScript.CreateObject(" + q$ + "WScript.Shell"+ q$ +")" file_writeln 9999,"WshShell.Run "+ q$ + "calc" + q$ file_writeln 9999,"WScript.Sleep 500" file_writeln 9999,"WScript.Sleep 100" file_writeln 9999,"WshShell.SendKeys " + q$ + key$ + q$ file_close 9999 execute_wait "SendKeys_Calc.vbs" file_delete "SendKeys_Calc.vbs" END_SUB rem ============================================================================ ' Terminer une application SUB TaskKill(task$) dim_local q$ q$ = chr$(34) file_open_write 9999,"TaskKill.vbs" file_writeln 9999,"set WshShell = WScript.CreateObject(" + q$ + "WScript.Shell"+ q$ +")" file_writeln 9999,"Set oExec = Wshshell.exec("+q$+"taskkill.exe /im "+task$+q$+")" file_writeln 9999,"WScript.Sleep 100" file_close 9999 execute_wait "TaskKill.vbs" file_delete "TaskKill.vbs" END_SUB rem ============================================================================
| |
|