begin process at 2012 02 17 11:54:16
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Souris, Clavier, etc.

 > COMMENT ENVOYER UNE COMMANDE CLAVIER???

COMMENT ENVOYER UNE COMMANDE CLAVIER???


 Information sur la source

Note :
6,5 / 10 - par 16 personnes
6,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Souris, Clavier, etc. Classé sous :commande, touche, clavier, sendkeys Niveau :Débutant Date de création :01/12/1999 Vu :45 969

Auteur : Felix

Ecrire un message privé
Commentaire sur cette source (34)
Ajouter un commentaire et/ou une note

 Description

Comment envoyer une commande clavier???

En utilisant l'instruction sendkeys:

Source

  • SendKeys "Coucou!!!" 'Il va affichez coucou dans la fenêtre qui a le focus
  • 'Pour toutes les touches spéciales comme F1, F2, Tab, Home, etc. il faut mettre le nom de la touche entre accolades:
  • SendKeys "{F1}" 'Il va lancer l'aide du logiciel en cours (peut-être... :))
  • 'On peut combiner le tout:
  • SendKeys "Coucou!!!{ENTER}Comment allez vous???{ENTER}Au revoir!!!{ENTER}etc."
  • 'On peut aussi utiliser les touches Alt, Ctrl, et Maj:
  • 'MAJ: +
  • 'CTRL: ^
  • 'ALT: %
  • SendKeys "%{F4}" 'Ferme le logiciel en cours...
SendKeys "Coucou!!!" 'Il va affichez coucou dans la fenêtre qui a le focus
'Pour toutes les touches spéciales comme F1, F2, Tab, Home, etc. il faut mettre le nom de la touche entre accolades:
SendKeys "{F1}" 'Il va lancer l'aide du logiciel en cours (peut-être... :))
'On peut combiner le tout:
SendKeys "Coucou!!!{ENTER}Comment allez vous???{ENTER}Au revoir!!!{ENTER}etc."
'On peut aussi utiliser les touches Alt, Ctrl, et Maj:

'MAJ: +
'CTRL: ^
'ALT: %

SendKeys "%{F4}" 'Ferme le logiciel en cours...


 Conclusion

Pour plus d'informations, Cf: Aide


 Sources du même auteur

COMMENT SAVOIR SI UN UTLISATEUR APPUIE SUR UNE CERTAINE TOUC...
COMMENT CACHER LE CURSEUR DE LA SOURIS?
MULTIMÉDIA CONTROL

 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) CLAVIER VIRTUEL par Nyuki
Source avec Zip Source avec une capture DÉMON D'ÉCOUTE par 8Tnerolf8
Source avec Zip UTILISATION DE LA MOLETTE DE LA SOURIS AVEC LE CONTRÔLE DBGR... par jacques13
Source avec Zip Source avec une capture Source .NET (Dotnet) INVERSEUR DE SOURIS (CLIQUE ET/OU MOUVEMENT) par darkteam
Source avec Zip Source avec une capture MORPION VOCAL par Flocreate

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture BLOCAGE TOUCHE WINDOWS par tyfer
Source avec Zip CODE SCAN DES TOUCHES DU CLAVIER par henneuse_alain
TESTER L' ÉTAT DES TOUCHES DU CLAVIER (API) par VUX
Source avec Zip RECUPERER LA TOUCHE PRESSÉE par Nix
COMMENT SAVOIR SI UN UTLISATEUR APPUIE SUR UNE CERTAINE TOUC... par Felix

Commentaires et avis

Commentaire de SHIVA le 19/01/2002 12:50:40

BIEN !!!!!!!!!

Commentaire de Nil le 01/07/2002 10:09:20

SendKeys est une instruction qui est comprise dans VisualBASIC, il n'y a donc pas de code associé. Pour connaitre tout sur le SendKeys, regardez dans l'aide de VisualBASIC.

J'aimerais savoir si il existe une API permettant de définir l'état d'une touche de clavier. (l'inverse de GetAsyncKeyState)

Commentaire de 0sez le 09/09/2002 12:46:03

Bon, je me suis pas fait chier, j'ai fait un copier/coller de l'aide de VB. En esperant que ca reponde a qq questions.


Key                              Code

RET.ARR                       {BACKSPACE}, {BS} ou {BKSP}
ATTN                            {BREAK}
VERR.MAJ                     {CAPSLOCK}
SUPPR                          {DELETE} ou {DEL}
BAS                             {DOWN}
FIN                              {END}
ENTRÉE                        {ENTER}ou ~
ÉCHAP                         {ESC}
AIDE                            {HELP}
ORIGINE                      {HOME}
INSERTION                  {INSERT} ou {INS}
GAUCHE                      {LEFT}
VERR.NUM                   {NUMLOCK}
PG.SUIV                      {PGDN}
PG.PRÉC                     {PGUP}
IMPR. ÉCRAN               {PRTSC}
DROITE                       {RIGHT}
ARRÊT.DÉFIL               {SCROLLLOCK}
TAB                            {TAB}
HAUT                          {UP}
F1                               {F1}
F2                               {F2}
F3                               {F3}
F4                               {F4}
ect ect ...

MAJ                             +
CTRL                           ^
ALT                              %

Pour indiquer que les touches MAJ, CTRL et ALT doivent être maintenues enfoncées pendant que d'autres touches sont utilisées, mettez le code des touches entre parenthèses. Par exemple, pour que la touche MAJ soit maintenue enfoncée pendant que les touches E et C sont utilisées, indiquez "+(EC)". Pour que la touche MAJ soit maintenue enfoncée en même temps que la touche E et que l'utilisateur appuie ensuite sur la touche C sans enfoncer la touche MAJ, utilisez "+EC".

Pour indiquer qu'une touche doit être répétée, employez la forme {touche nombre}, sans oublier d'insérer un espace entre touche et nombre. Par exemple, {LEFT 42} signifie que la touche GAUCHE doit être enfoncée 42 fois et {h 10} qu'il faut appuyer 10 fois sur la touche H.

Commentaire de soldier8514 le 07/01/2005 17:31:03

c bien beau tout çà mais qu'en est il pour la commande CTRL+ALT+ Supp ??????????????????

:)

Commentaire de jhon_smith le 28/01/2005 11:10:32

c'est très cool, merci à tous , je veux juste savoir à prpos de la touche windows (entre ctrl et alt) , c'est quoi son code ? merci d'avance !!

Commentaire de mti le 14/11/2005 18:47:19

soldier8514: Si tu lis bien tu comprends qu'il faut mettre
SendKeys "{(^)+(%)+(DEL)}"
Tu pourrai lire avant de poster, ca va que nix est laxiste et qu'il ne t'as pas supprimé ton message ni envoyé de MP (je suppose)
Parce que les commentaires  inutiles... y en a beaucoup!!!!!

Sinon tu peux aussi faire shell("C:\...\taskmgr.exe") etc...
A bon entendeur, salut!

Commentaire de mpo007 le 21/07/2006 20:08:29

je veux te couriger monsieur "je sais tout" SendKeys "{(^)+(%)+(DEL)}" ne marchera pas
il faut éssayer autre chose.
pour fair un ctrl+alt+suppr par SendKeys tu dois faire

SendKeys "^+{ESC}+{DOWN}"

Commentaire de mti le 21/07/2006 21:01:32

je viens de tester SendKeys "^+{ESC}+{DOWN}"  et ca ne martche pas.
Le mieux est encore de faire Shell "C:\windows\system32\taskmgr.exe", vbNormalFocus

Commentaire de diablamanshadow le 09/11/2006 09:23:20

bon je viens mettre mon grain de sel je cite :

'Il va affichez coucou dans la fenêtre qui a le focus

donc ma question est comment est ce que l'on peut lister les fennetres en choisir une , taper son texte faire sur un bouton ok et sa envoie le focus a la fennetre selectionnee et y tape le texte ^^

Commentaire de revanger le 25/02/2007 00:54:41

Je suis obligé d'utiliser My.Computer.Keyboard.SendKeys("{CAPSLOCK}")

car sendkeys VB ne reconnait pas.

Et même avec My.Computer.Keyboard.SendKeys("{CAPSLOCK}") ça marche pas vraiment, mais il le reconnait.

Quelqu'un peut m'aider ?

Commentaire de fouadma2 le 27/04/2007 12:49:52

c'est bien continue....

Commentaire de mti le 28/04/2007 17:22:26

Revanger ==> peut-être n'as-tu pas VB 6 ?

Commentaire de revanger le 28/04/2007 19:27:50

Oui, c'est un VB mais 2005 je crois. Enfin de puis j'ai formaté ^^

Commentaire de style77 le 31/10/2007 11:04:34

Escuser moi mais on fait comment pour faire des petit coeur des soleil des trucs comme sa avec ctrl 32 si vous savez pouvez vous la cher un com's avec toute la liste merci

Commentaire de mti le 31/10/2007 15:56:25

Euh, déjà, on apprend à écrire français si on espère une réponse (et non que je la che un com'ssur comment faire des trucs).

Sur Word tu vas sur Insertion, Caractères spéciaux, et tu choisis webdings ou wingdings. Là tu peux choisir ton signe ou émoticone et la touche de raccourci (Alt+nombre) s'affichera en bas à droite.

S'il ne s'affiche pas c'est que ce n'est pas un signe standard donc le copier/coller reste la seule solution ?

@+

mti.

Commentaire de mti le 31/10/2007 15:58:13

A savoir que s'il n'y a pas de raccourci, beaucoup de personnes risquent de ne pas voir ton signe. Ainsi, j'ai posté un sourire de wingdings qui apparaît comme un point d'interrogation à la fin de mon précédent message. Bref, les polices, à la base, c'est du texte, ne l'oublie pas.

Et sinon je vois moyennement ce que cela fait sur cette source.

@+

mti.

Commentaire de style77 le 03/11/2007 17:54:58

merci mti mais word on le tape dans google ou il est sur notre ordi?

Commentaire de mti le 03/11/2007 23:21:14

Microsoft Word est un un logiciel de traitement de texte de la suite Microsoft Office. Il est payant et nombreux sont ceux qui l'ont dès l'achat de leur ordi.

Si tu ne l'as pas sur ton ordi, télécharge openoffice (tu peux trouver Open Office sur google) qui fait l'équivalent.

Si tu as des problèmes après cela, rends-toi sur un forum approprié (commentcamarche.net par exemple) car là nous sommes Hors Sujet.

@+

mti.

Commentaire de nijlak le 28/03/2008 14:33:49

Bonjours, je programme sur visual basic express 2008, je n'arrive pas a utiliser sendkeys.
Pouvez vous me dire comment elle marche. Il me mette une erreur qui est:
Erreur'SendKeys' est un type et ne peut pas être utilisé en tant qu'expression.

C'est pour un bot, je voudrais qu'il appuit sur F9 puis sur ENTER dans une fenêtre qui sera bien en focus

Je vous remercie

Commentaire de mti le 29/03/2008 14:35:55

Bonjour,
Tu peux trouver cela dans la MSDN:
http://msdn2.microsoft.com/fr-fr/library/fx2k26ca(VS.80).aspx

En fait, avec VB express, il faut utiliser My.Computer.Keyboard.SendKeys.

Exemple de MSDN avec la caculatrice windows:

Dim ProcID As Integer 'pour recevoir l'ID du processus
' lance l'appli et enregistre le process id.
ProcID = Shell("CALC.EXE", AppWinStyle.NormalFocus)
AppActivate(ProcID) 'je vois pas à quoi ca sert, ca marche bien sans chez moi
' envoi des commandes clavier
My.Computer.Keyboard.SendKeys("22", True)
My.Computer.Keyboard.SendKeys("*", True)
My.Computer.Keyboard.SendKeys("44", True)
My.Computer.Keyboard.SendKeys("=", True)
' résultat de 22 * 44 = 968.

Commentaire de nijlak le 29/03/2008 14:51:46

J'avais trouvé et cela marche très bien. Mon problème maintenant c'est qu'il appuie pas sur les touches dans mon application en focus (ça marche par contre sur wordpad et autre traitement de texte qui j'ai pris pour les essais).
J'ai entendu dire que c'est possible que ça marche pas quand l'application utilise Direct X. Est cela d'après vous ?

Merci

Commentaire de PaTaTe le 05/04/2008 01:59:54

SendKeys c'est bien ... si on a l'application ciblée comme focus actif. J'aimerais avoir une méthode sans ce système de focus. parce :

1 : Les changement de focus à la volée, ça fait pas propre.
2 : Si un programme extérieur se place en focus actif tout s'effondre.

Maintenant y a t il une méthode alternative à SendKeys, je ne sais pas. Si vous savez, merci de m'éclairer :)

Commentaire de Renfield le 05/04/2008 08:07:21 administrateur CS

SendKeysEx
http://www.vbfrance.com/codes/SENDKEYSEX-SIMULER-TOUCHE-DANS-FENETRE-PRECISE_41974.aspx

Commentaire de PaTaTe le 05/04/2008 15:12:02

Renfield > Le code fonctionne parfaitement ... mais pas avec un programme en invite de commande (ce que je cherche en fait). Mon problème reste entier ...

Commentaire de Renfield le 05/04/2008 15:16:40 administrateur CS

c'est pour ça ? plus simple, alors, passes par le StdInput (voir ShellExecuteEx)

Commentaire de PaTaTe le 05/04/2008 15:29:01

Je ne connais pas StdInput tu sais où je pourrais trouver des information ?

Commentaire de Renfield le 06/04/2008 23:13:13 administrateur CS

"entrée standard"

par exemple, par defaut, sous applis console, c'est la saisie clavier...

voir MSDN, la doc de ShellExecute(Ex)

Commentaire de PaTaTe le 07/04/2008 03:09:30

Je crois que je me suis mal expliqué. Je ne cherche pas à exécuter un programme mais je veux pouvoir par exemple lui envoyer la touche A si le programme le demande (pour qu'il effectue ce que la touche A doit engendrer).

Commentaire de Renfield le 07/04/2008 09:43:46 administrateur CS

bien compris, nul soucis, c'est tout a fait possible de lire ecrire de manière interactive et de jouer ainsi avec des applis console

Commentaire de PaTaTe le 07/04/2008 12:00:52

Et bien moi je ne vois pas trop comment. C'est un peu comme avec pipes, là j'y piges pas grand chose je ne vois pas comment ça peut servir à envoyer mes touches. Ça me désespère là :(

Commentaire de Renfield le 07/04/2008 12:08:51 administrateur CS

avec quelle appli joues tu ?

Commentaire de PaTaTe le 07/04/2008 13:10:32

Une appli faite maison.

Commentaire de boudas le 08/10/2008 09:22:52

bonjour,

Deux petites questions sur SendKeysEx
1: comment déclare t'on "VBRUN.KeyCodeConstants" et "VBRUN.ShiftConstants" en vba ? (au passage, vbExtendedKey As Boolean = False n'est aps reconnu sous Excel...)

2: (et c'est ma question la plus importante) comment envoyer une combinaison de touches à un exe quand le PC est verouillé. (la session est démarrée mais l'utilisateur a vérouillé la session car il a lancé la macro et reviendra quelques heures plus tard)

Pour l'instant, j'utilise "sendkeys" avec l'option attente à true, mais dans ce cas, sendkeys attend le déverouillage du pc avant de s'éxécuter... la macro perd beaucoup de sa valeur ! lol

merci de vos réponses
Aurélien

Commentaire de Dugnouf le 27/04/2010 09:39:57

Bonjour,

est-ce que quelqu'un à déjà essayé d'envoyer le caractère caret "^".
Selon la doc il faudrait le faire de cette manière :
SendKeys "{^}"
Mais si le clavier suisse romand est activé j'obtiens le caractère "&", et si le clavier français est activé j'obtiens le caractère "6".
Est-ce que quelqu'un a une solution ?
Merci

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Simuler touche clavier [ par fabienfs ] Hello, Je cherche à simuler la pression d'une touche clavier. J'ai déjà testé avec SendKeys, seulement SendKeys envoi telle touche dans telle fenêtr Code pour action de touche clavier [ par Dumpy92 ] Bonsoir à tous ! J'ai cherché sur google, j'ai pas réussi à trouver ce que je cherchai. Enfait, je fais une application où je voudrais que quand l'u problème code touche clavier - vba [ par badman011 ] Bonjour à tous, Je viens à vous pour espérer trouver une solution à mon problème qui est le suivant: j'utilise la fonction GetAsyncKeyState(x) pour Comment bindé une fonction a une touche du clavier [ par bl4ck0utb ] Bonjour, je voudrai relié la touche F1 a mon button start et la touche F2 a mon button stop, mais je n'ai aucun idée de comment faire pourriez vous m' probleme avec sendkeys [ par stephane2010 ] Bonjour, J'ai des problème avec SendKeys [^^confus2] Ma commande est la suivante: SendKeys Sheets("Feuil36").Range("B53").Value Lorsque la valeur passer au textbox suivant par la touche entrer du clavier [ par elwadeh ] bonjour, comment passer au textbox suivant par la touche entrer du clavier. merci TOUCHE CLAVIER - timer [ par GHGFSJD ] Bonjour, J'aimerai un coup de pouce pour la conception d'un programme qui pourrait me donner le temps d'appuie sur une touche. si je presse la touche Probème avec "GetAsyncKeyState" et "GetKeyState" (VBA Word Office 2003) [ par Polack77 ] Voila, je veut faire une procèdure qui me permete de recup les touche taper au clavier simultanémant.Soit avoir comme retour de fonction :    -> "& Déclanchement d'une combinaison de touche du clavier [ par neewby ] Bonjour a tous, j'essaye de trouver une fonction permettant de déclencher une combinaison de touche du clavier, comme si c'était l'utilisateur qui le gestion des touche avec vbscript [ par harry_cover ] Bonjour, je dois créer une page HTML qui utilise les touches du clavier pour aller sur un lien.Par exemple, je suis sur ma page HTML et j'appuis sur l


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,012 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales