COMMENT ENVOYER UNE COMMANDE CLAVIER???

khedhiri - 8 sept. 2000 à 16:54
cs_Dugnouf Messages postés 8 Date d'inscription mardi 27 avril 2010 Statut Membre Dernière intervention 2 septembre 2010 - 27 avril 2010 à 09:39
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/131-comment-envoyer-une-commande-clavier

cs_Dugnouf Messages postés 8 Date d'inscription mardi 27 avril 2010 Statut Membre Dernière intervention 2 septembre 2010
27 avril 2010 à 09:39
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
boudas Messages postés 13 Date d'inscription jeudi 16 janvier 2003 Statut Membre Dernière intervention 8 octobre 2008
8 oct. 2008 à 09:22
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
cs_PaTaTe Messages postés 2126 Date d'inscription mercredi 21 août 2002 Statut Contributeur Dernière intervention 19 février 2021 2
7 avril 2008 à 13:10
Une appli faite maison.
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
7 avril 2008 à 12:08
avec quelle appli joues tu ?
cs_PaTaTe Messages postés 2126 Date d'inscription mercredi 21 août 2002 Statut Contributeur Dernière intervention 19 février 2021 2
7 avril 2008 à 12:00
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à :(
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
7 avril 2008 à 09:43
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
cs_PaTaTe Messages postés 2126 Date d'inscription mercredi 21 août 2002 Statut Contributeur Dernière intervention 19 février 2021 2
7 avril 2008 à 03:09
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).
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
6 avril 2008 à 23:13
"entrée standard"

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

voir MSDN, la doc de ShellExecute(Ex)
cs_PaTaTe Messages postés 2126 Date d'inscription mercredi 21 août 2002 Statut Contributeur Dernière intervention 19 février 2021 2
5 avril 2008 à 15:29
Je ne connais pas StdInput tu sais où je pourrais trouver des information ?
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
5 avril 2008 à 15:16
c'est pour ça ? plus simple, alors, passes par le StdInput (voir ShellExecuteEx)
cs_PaTaTe Messages postés 2126 Date d'inscription mercredi 21 août 2002 Statut Contributeur Dernière intervention 19 février 2021 2
5 avril 2008 à 15:12
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 ...
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
5 avril 2008 à 08:07
cs_PaTaTe Messages postés 2126 Date d'inscription mercredi 21 août 2002 Statut Contributeur Dernière intervention 19 février 2021 2
5 avril 2008 à 01:59
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 :)
nijlak Messages postés 4 Date d'inscription mercredi 26 mars 2008 Statut Membre Dernière intervention 29 mars 2008
29 mars 2008 à 14:51
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
cs_mti Messages postés 51 Date d'inscription mardi 28 juin 2005 Statut Membre Dernière intervention 29 mars 2008
29 mars 2008 à 14:35
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.
nijlak Messages postés 4 Date d'inscription mercredi 26 mars 2008 Statut Membre Dernière intervention 29 mars 2008
28 mars 2008 à 14:33
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
cs_mti Messages postés 51 Date d'inscription mardi 28 juin 2005 Statut Membre Dernière intervention 29 mars 2008
3 nov. 2007 à 23:21
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.
cs_style77 Messages postés 3 Date d'inscription mercredi 31 octobre 2007 Statut Membre Dernière intervention 13 mars 2011
3 nov. 2007 à 17:54
merci mti mais word on le tape dans google ou il est sur notre ordi?
cs_mti Messages postés 51 Date d'inscription mardi 28 juin 2005 Statut Membre Dernière intervention 29 mars 2008
31 oct. 2007 à 15:58
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.
cs_mti Messages postés 51 Date d'inscription mardi 28 juin 2005 Statut Membre Dernière intervention 29 mars 2008
31 oct. 2007 à 15:56
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.
cs_style77 Messages postés 3 Date d'inscription mercredi 31 octobre 2007 Statut Membre Dernière intervention 13 mars 2011
31 oct. 2007 à 11:04
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
revanger Messages postés 63 Date d'inscription jeudi 1 juillet 2004 Statut Membre Dernière intervention 31 juillet 2007
28 avril 2007 à 19:27
Oui, c'est un VB mais 2005 je crois. Enfin de puis j'ai formaté ^^
cs_mti Messages postés 51 Date d'inscription mardi 28 juin 2005 Statut Membre Dernière intervention 29 mars 2008
28 avril 2007 à 17:22
Revanger ==> peut-être n'as-tu pas VB 6 ?
fouadma2 Messages postés 1 Date d'inscription vendredi 27 avril 2007 Statut Membre Dernière intervention 27 avril 2007
27 avril 2007 à 12:49
c'est bien continue....
revanger Messages postés 63 Date d'inscription jeudi 1 juillet 2004 Statut Membre Dernière intervention 31 juillet 2007
25 févr. 2007 à 00:54
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 ?
diablamanshadow Messages postés 419 Date d'inscription lundi 30 août 2004 Statut Membre Dernière intervention 28 janvier 2008
9 nov. 2006 à 09:23
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 ^^
cs_mti Messages postés 51 Date d'inscription mardi 28 juin 2005 Statut Membre Dernière intervention 29 mars 2008
21 juil. 2006 à 21:01
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
mpo007 Messages postés 12 Date d'inscription jeudi 6 juillet 2006 Statut Membre Dernière intervention 7 mars 2009
21 juil. 2006 à 20:08
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}"
cs_mti Messages postés 51 Date d'inscription mardi 28 juin 2005 Statut Membre Dernière intervention 29 mars 2008
14 nov. 2005 à 18:47
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!
jhon_smith Messages postés 40 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 30 mars 2007
28 janv. 2005 à 11:10
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 !!
soldier8514 Messages postés 295 Date d'inscription vendredi 20 décembre 2002 Statut Membre Dernière intervention 24 janvier 2014 1
7 janv. 2005 à 17:31
c bien beau tout çà mais qu'en est il pour la commande CTRL+ALT+ Supp ??????????????????

:)
0sez Messages postés 2 Date d'inscription dimanche 8 septembre 2002 Statut Membre Dernière intervention 11 septembre 2002
9 sept. 2002 à 12:46
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.
cs_Nil Messages postés 85 Date d'inscription dimanche 2 décembre 2001 Statut Membre Dernière intervention 31 décembre 2002
1 juil. 2002 à 10:09
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)
cs_SHIVA Messages postés 97 Date d'inscription vendredi 28 décembre 2001 Statut Membre Dernière intervention 1 décembre 2003
19 janv. 2002 à 12:50
BIEN !!!!!!!!!
Ne fonctionne pas si Focus sur une boite DOS. Auriez-vous une solution pour ms-dos ?
C'est quoi le code pourla touche espace:{Space}???
Merci d'avance,

† Manthis †
Comment faire pour envoyer des touvhe tel que (verr num), (MAJ) ou bien (Arret defil)
Comment peut-on recuperer le code, j'avais envie de voir de quoi il s'agit amis pas possible de le recuperer.

Pouvez vous me l'envoyer ?

Merci d'avance
Rejoignez-nous