###Function###
Send
 
###Description###
Simule l'appui sur une touche du clavier et envoi la valeur dans la fentre active.
 
 
###Syntax###
Send ( "keys" [, flag] )
 
 
###Parameters###
@@ParamTable@@
keys
	La squence de touches  envoyer.
flag
	[optionnel] Change la manire dont les touches sont envoyes:
	  flag = 0 (dfaut), Les caractres spciaux comme + et ! sont utiliss pour indiquer les touches SHIFT et ALT
	  flag = 1, Les touches sont envoyes tels qu'elles.
@@End@@
 
 
###ReturnValue###
Aucune.
 
 
###Remarks###
Voir <a href="../appendix/SendKeys.htm">l'appendice</a> pour quelques astuces d'utilisation de Send.  AutoIt peut envoyer tous les caractres ASCII et ASCII tendu (0-255).Pour envoyer des caractres UNICODE, vous devez utiliser l'option "ASC" et le code du caractre que vous voulez envoyer (Voir {ASC} au bas de la table ci-dessous).
 
La syntaxe de la commande "Send" est similaire  celle de ScriptIt et  celle de la commande "SendKeys" en Visual Basic.
Les caractres sont envoys tels qu'ils sont crits  l'exception des caractres suivants:
 
'!'
Ceci dit  AutoIt de simuler l'appui de la touche ALT. Par exemple, Send("Ceci est un texte!a") va envoyer les lettres "Ceci est un texte" puis presser "ALT+a".
 
Remarque : Certains programmes sont trs difficiles quand  l'utilisation des lettres majuscules combines avec l'appui sur ALT. Par exemple, "!A" est diffrent de "!a". Le premier code va envoyer ALT+SHIFT+A et le deuxime ALT+a. Si vous avez un doute, utilisez les minuscules.
 
 
'+'
Ceci dit  AutoIt de simuler l'appui de la touche SHIFT. Par exemple, Send("Hell+o") va envoyer les lettres  "HellO", et Send("!+a") va envoyer "ALT+SHIFT+a".
 
'^'
Ceci dit  AutoIt de simuler l'appui de la touche CTRL. Par exemple, Send("^!a") va envoyer "CTRL+ALT+a".
 
Remarque : Certains programmes sont trs difficiles quand  l'utilisation des lettres majuscules combines avec l'appui sur CTRL. Par exemple, "!A" est diffrent de "!a". Le premier code va envoyer CTRL+SHIFT+A et le deuxime CTRL+a. Si vous avez un doute, utilisez les minuscules.
 
 
'#'
Ceci dit  AutoIt de simuler l'appui de la touche Windows. Par exemple, Send("#r") va envoyer Win+r qui va lancer l'invite de commande.
 
 
Vous pouvez utiliser SendCapslockMode pour dsactiver le verrouillage majuscule au dbut de chaque utilisation de Send et le ractiver  la fin.
Cependant, si un utilisateur maintient l'appui sur SHIFT au dmarrage de Send, le texte peut tre envoy en majuscule.
Une manire de contourner est d'utiliser Send("{SHIFTDOWN}{SHIFTUP}") avant les autres utilisations de Send.
 
Certains claviers comme le Tchque envoient des caractres diffrents lors de l'appui sur la touche Shift ou pendant que le VERROUILLAGE MAJUSCULE est activ. En raison du fonctionnement de la fonction Send, (les caractres majuscules sont envoys comme des minuscules affubles d'un SHIFT) <b>l'envoi des majuscules ne marchera pas</b>.
 
Certains caractres spciaux peuvent tre envoys mais doivent tre encadrs de crochets.
 
Remarque:  Windows n'autorise pas la simulation de la combinaison "CTRL-ALT-DEL"!
@@StandardTable1@@
<b>Commande send (Si flag = 0)</b>	<b>Caractres envoys</b>
{!}	!
{#}	#
{+}	+
{^}	^
{{}	{
{}}	}
{SPACE}	Espace
{ENTER}	Touche ENTRE du clavier principal
{ALT}	ALT
{BACKSPACE} ou {BS}	RETOUR ARRIRE
{DELETE} ou {DEL}	SUPPRIMER
{UP}	Flche du haut
{DOWN}	Flche du bas
{LEFT}	Flche de gauche
{RIGHT}	Flche de droite
{HOME}	HOME
{END}	FIN
{ESCAPE} or {ESC}	CHAP
{INSERT} or {INS}	INSRER
{PGUP}	PageUp
{PGDN}	PageDown
{F1} - {F12}	Touches de fonctions
{TAB}	Tabulation
{PRINTSCREEN}	Impr. cran
{LWIN}	Touche Windows de gauche
{RWIN}	Touche Windows de droite
{NUMLOCK on}	Pav Numrique (on/off/basculement)
{CAPSLOCK off}	Verrouillage Majuscule (on/off/basculement)
{SCROLLLOCK toggle}	SCROLLLOCK (on/off/basculement)
{BREAK}	Pour Ctrl+Break du traitement
{PAUSE}	PAUSE
 
{NUMPAD0} - {NUMPAD9}	Chiffres du pav numrique
{NUMPADMULT}	Multiplication du pav numrique
{NUMPADADD}	Addition du pav numrique
{NUMPADSUB}	Soustraction du pav numrique
{NUMPADDIV}	Division du pav numrique
{NUMPADDOT}	Point du pav numrique
{NUMPADENTER}	Touche ENTRE du pav numrique
{APPSKEY}	Touche des applications Windows
{LALT}	Alt gauche
{RALT}	Alt droit
{LCTRL}	Ctrl gauche
{RCTRL}	Ctrl droit
{LSHIFT}	Shift gauche
{RSHIFT}	Shift droit
{SLEEP}	Touche de mise hors tension de l'ordinateur
{ALTDOWN}	Maintient appuy la touche ALT jusqu' l'envoi de la touche {ALTUP}
{SHIFTDOWN}	Maintient appuy la touche SHIFT jusqu' l'envoi de la touche {SHIFTUP}
{CTRLDOWN}	Maintient appuy la touche CTRL jusqu' l'envoi de la touche {CTRLUP}
{LWINDOWN}	Maintient appuy la touche Windows de gauche jusqu' l'envoi de la touche {LWINUP}
{RWINDOWN}	Maintient appuy la touche Windows de droite jusqu' l'envoi de la touche {RWINUP}
{ASC nnnn}	Envoi la combinaison ALT+nnnn
{BROWSER_BACK}	2000/XP Seulement : Touche "retour" du navigateur
{BROWSER_FORWARD}	2000/XP Seulement : Touche "suivant" du navigateur
{BROWSER_REFRESH}	2000/XP Seulement : Touche "actualiser" du navigateur
{BROWSER_STOP}	2000/XP Seulement : Touche "stop" du navigateur
{BROWSER_SEARCH}	2000/XP Seulement : Touche "recherche" du navigateur
{BROWSER_FAVORITES}	2000/XP Seulement : Touche "favoris" du navigateur
{BROWSER_HOME}	2000/XP Seulement : Lance le navigateur internet sur la page d'accueil
{VOLUME_MUTE}	2000/XP Seulement : Coupe le son
{VOLUME_DOWN}	2000/XP Seulement : Rduit le volume du son
{VOLUME_UP}	2000/XP Seulement : Augmente le volume du son
{MEDIA_NEXT}	2000/XP Seulement : Slectionne la prochaine chanson dans le lecteur Media Player
{MEDIA_PREV}	2000/XP Seulement : Slectionne la chanson prcdente dans le lecteur Media Player
{MEDIA_STOP}	2000/XP Seulement : Arrte la musique du lecteur Mdia Player
{MEDIA_PLAY_PAUSE}	2000/XP Seulement : Mets en pause/marche le son dans le lecteur Mdia Player
{LAUNCH_MAIL}	2000/XP Seulement : Lance la messagerie Internet
{LAUNCH_MEDIA}	2000/XP Seulement : Lancer le lecteur Mdia Player
{LAUNCH_APP1}	2000/XP Seulement : Lance l'application 1 dfinie par l'utilisateur
{LAUNCH_APP2}	2000/XP Seulement : Lance l'application 2 dfinie par l'utilisateur
@@End@@
 
Pour envoyer la valeur ASCII de A (identique  l'appui de ALT+065 sur le pav numrique)
    Send("{ASC 065}")
 
(Quand vous devez utiliser un codes ASCII  deux chiffres, vous devez mettre un 0 devant, sinon le code de page obsolte 437 est utilis).
 
Pour envoyer des caractres UNICODE, entrez le code des caractres (dcimale ou hexadcimal), par exemple pour envoyer un caractre chinois.
    Send("{ASC 2709}") ou Send("{ASC 0xA95}")
 
 
Des touches seules peuvent aussi tre rptes, comme dans les exemples ci-dessous.
    Send("{DEL 4}")    ; Envoyer la touche DEL 4 fois
    Send("{S 30}")      ; Envoyer 30 fois le caractre 'S'
    Send("+{TAB 4}")   ; Appuyer 4 fois sur SHIFT+TAB
 
Les touches sont envoyes au moins une fois mme si le chiffre est 0.
 
Pour laisser une touche appuye (gnralement utile pour les jeux)
    Send("{a down}")    ; Laisse la touche 'a' appuye
    Send("{a up}")        ; Libre la touche 'a'
 
Pour fixer l'tat des touches 'Verrouillage Majuscule', 'Verrouillage Pav numrique' et 'Arrt dfilement' :
    Send("{NumLock on}")        ; Change l'tat du pav numrique (NumLock) en on
    Send("{CapsLock off}")      ; Change l'tat des majuscule (CapsLock) en off
    Send("{ScrollLock toggle}") ; Bascule l'tat de l'arrt dfilement (ScrollLock)
 
Si vous souhaitez utiliser une variable pour le nombre de rptition, essayez
    $n = 4
    Send("+{TAB " & $n & "}")
 
Si vous souhaitez envoyer la valeur ASCII 'A' 4 fois, essayez
    $x = Chr(65)
    Send("{" & $x & " 4}")
 
La plupart des ordinateurs portable possdent une touche spciale Fn.  Cette touche ne peut tre simule.
 
Remarque: En fixant le paramtre  1 les combinaisons 'spciales' qui suivent ne seront pas actives. Ce paramtre est trs utile quand vous voulez envoyer un texte copi d'une variable et que vous voulez envoyer le texte exactement comme il est crit.
 
 
Par exemple, ouvrez 'Options des dossiers' (dans le panneau de configuration) et essayez ce qui suit :
@@StandardTable1@@
Send("{TAB}") Navigue au contrle suivant (bouton, case  cocher, etc)
Send("+{TAB}") Navigue au contrle prcdent
Send("^{TAB}") Navigue  l'onglet suivant (en prsence d'une fentre comportant des onglets)
Send("^+{TAB}") Navigue  l'onglet prcdent
Send("{SPACE}") Peut tre utilis pour cocher une case ou valider un bouton
Send("{+}") Usuellement coche une case (si c'est une "relle" case  cocher)
Send("{-}") Usuellement dcoche une case.
Send("{NumPadMult}") Dveloppe rcursivement les rpertoires d'un SysTreeView32.
@@End@@
 
Utiliser les combos avec Alt pour accder aux objets des menus.  Vous pouvez galement ouvrir le bloc-notes et tester ceci :
Send("!f") Envoie Alt+f, permet d'accder au menu 'Fichier' du bloc-notes. Essayez d'autres lettres!
 
@@StandardTable1@@
Send("{DOWN}")	Descend dans le menu.
Send("{UP}")	Monte dans le menu.
Send("{LEFT}")	Va vers la gauche vers un nouveau menu ou dveloppe un sous-menu.
Send("{RIGHT}")	Va vers la droite vers un nouveau menu ou rduit un sous-menu.
@@End@@
Voir l'aide de Windows en appuyant sur Win+F1 pour une liste complte des raccourcis claviers si vous ne connaissez pas l'importance de Alt + F4, 'Imp cran', Ctrl+C, et d'autres encore.
 
Quand un script est lanc sur un ordinateur distant  travers un programme tiers comme psexec (www.sysinternals.com) ou beyondexec (www.beyondlogic.org), il est ncessaire, spcialement en envoyant des touches  un programme lanc par le script via la fonction Run d'utiliser <b>ControlSend</b> ou d'autres fonctions ControlXXX pour communiquer avec le bon contrle. Dans le cas contraire,l'envoi, mme avec l'option Opt("SendAttachMode",1), ne marchera pas.
Utiliser le mode -s quand vous envoyez des touches peut vous aider  avoir un meilleur droit sur l'ordinateur distant.
 
Opt("SendKeyDelay",...) change la longueur de la pause entre 2 touches conscutives.
Opt("SendKeyDownDelay",...) change la longueur de la pause d'une touche enfonce avant qu'elle ne soit libre pendant une simulation.
 
 
###Related###
<a href="SendAttachmode.htm">SendAttachmode (Option)</a>, <a href="SendKeepActive.htm">SendKeepActive</a>, <a href="SendKeyDelay.htm">SendKeyDelay (Option)</a>, <a href="SendKeyDownDelay.htm">SendKeyDownDelay (Option)</a>, <a href="ControlSend.htm">ControlSend</a>
 
 
###Example###
@@IncludeExample@@