Simulation de touches du clavier

bilaloch Messages postés 556 Date d'inscription lundi 6 octobre 2003 Statut Membre Dernière intervention 31 octobre 2019 - 5 juil. 2007 à 14:12
bilaloch Messages postés 556 Date d'inscription lundi 6 octobre 2003 Statut Membre Dernière intervention 31 octobre 2019 - 6 juil. 2007 à 11:50
Bonjour à tous,

Dans un de mes programmes, j'ai besoin de simuler des touches clavier (plus précisement ALT + &). J'utilise alors 'SendKeys "%(&)"'. Cependant, j'ai l'impression que c'est un peu hasardeux. En effet, certaines fois, SendKeys ne se manifeste pas. Alors je vous pose la question : comment simuler les commandes du clavier sans utiliser SendKeys, avec par exemple les API présentes dans windows ?

Merci bien,

BILALoch

8 réponses

cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
5 juil. 2007 à 14:27
Salut,

Jmfmarques à fait il y a quelques temps un petit bout de code sympa que j'utlise dans une de mes sources, qui m'exécute du code quand j'appuis sur L + M...A voir si cela peut-être utile....Dis moi le et je poste son petit bout de code que je me suis gardé au chaud...Lol

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
bilaloch Messages postés 556 Date d'inscription lundi 6 octobre 2003 Statut Membre Dernière intervention 31 octobre 2019 1
5 juil. 2007 à 14:34
Non, merci. C'est inutile. Je ne cherche pas la gestion du clavier, mais sa simulation. C'est-à-dire que je ne veux pas que mon code fasse quelque chose lors d'un appui sur une touche de clavier, mais plutôt qu'il appuie lui même sur une touche de clavier (en quelque sorte, c'est pourquoi ce n'est qu'une simulation). Desolé si je me suis mal exprimé.

BILALoch
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
5 juil. 2007 à 14:43
Bonjour,
Et si :
1)  tu nous montrais le code que tu as écrit avec Sendkeys
2) tu nous précisais (ce que tu n'as pas encore fait alors que c'est essentiel) : si tes simulations doivent se faire dans TON application (et où ?) ou dans une autre fenêtre (et ou ?) ...
Ce serait peut-être bien, non ?
0
bilaloch Messages postés 556 Date d'inscription lundi 6 octobre 2003 Statut Membre Dernière intervention 31 octobre 2019 1
5 juil. 2007 à 18:42
Bonjour,

1) Cela ne vous sera d'aucune aide, puisque je n'ai pas dit que c'était un bug et que je veux encore moins vous demander de l'aide sur SendKeys, c'était juste pour me justifier un peu, ce qui d'ailleurs était facultatif.
2) C'est loin d'être essentiel, car le fait d'avoir dit "simulation de touches" explique déjà tout (et oui, cela signifie que cela fonctionnera sur la fenêtre qui a le focus si on réflechit bien !).

Bref, j'ai trouvé l'api dont j'avais besoin, et je vous donne son nom au cas où l'un d'entre vous aimerait le savoir : keybd_event. Merci de vos réponses.

BILALoch
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
5 juil. 2007 à 18:54
Ya pas un problème sur le site les Admin depuis ~ 1 semaine avec les com ?

Ralalalal....Bon courage, vous êtes les meilleurs...

Salut bilaloch,

Euh....Excuse-nous d'avoir mal réfléchis, euh..juste d'avoir essayé de t'aider....

Puis par la même occasion, poste l'api que tu as trouvé et qui résoud ton problème....

++

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
5 juil. 2007 à 19:04
Juste une précision,, tout de même...
On réfléchit, c'est sûr.
Voyons ce que tu viens encore d'écrire :
2) C'est loin d'être essentiel, car le fait d'avoir dit "simulation de touches" explique déjà tout (et oui, cela signifie que cela fonctionnera sur la fenêtre qui a le focus si on réflechit bien !).
Permets donc notre insistance ! La fenêtre qui a le focus n'est pas nécessairement celle de ton appli ... et le traitement de simulation de touches ne se fait pas de la même façon dans un cas et dans l'autre...
Je retiens personnellement une chose : tu n'indique que ce que tu veux indiquer, pensant que chacun n'a qu'à deviner ce dont il s'agit... Je le saurai donc ...
0
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
6 juil. 2007 à 11:49
Salut,

Exploreur -> Bah il a dit keybd_event

Déjà très connu dans le secteur...

http://www.vbfrance.com/code.aspx?id=3833
http://www.vbfrance.com/codes/SIMULER-TOUCHE-WINDOWS-AVEC-KEYBD_EVENT_40420.aspx

[ironie]
Exploreur, arrête d'essayer d'aider les gens et jmfmarques, arrête de demander plus de détails pour pouvoir mieux aider. C'est mal poli ! Manquerait plus que ce site soit fait pour s'entraider...
/ironie

Bonne prog
0
bilaloch Messages postés 556 Date d'inscription lundi 6 octobre 2003 Statut Membre Dernière intervention 31 octobre 2019 1
6 juil. 2007 à 11:50
Exploreur, j'ai déjà posté le nom de l'API, c'est keybd_event ;)

jmfmarques, tu dis que "la fenêtre qui a le focus n'est pas nécessairement celle de ton appli" ; c'est exactement cela ! Mon programme agit en dehors de lui même. De plus, la simulation de touches se fait exactement de la même manière dans les deux cas : je ne parle pas d'une pseudo-simulation qui permettrait à l'utilisateur du programme d'avoir l'impression que le clavier est touché dans mon appli, mais d'une réelle simulation à la SendKeys qui agit comme si l'utilisateur a appuyé sur la touche (excepté dans les cas où par exemple l'appli utilise directement les envois du clavier sans passer par l'OS tel que DirectX). Et j'ai précisé SendKeys non pas pour que vous me corrigiez une erreur dans mon code, comme tu le pensais il y a un moment, mais pour vous donner l'idée du type de simulation de clavier dont j'avais besoin (ici, elle est "réelle").

BILALoch
0
Rejoignez-nous