bilaloch
Messages postés556Date d'inscriptionlundi 6 octobre 2003StatutMembreDernière intervention31 octobre 2019
-
5 juil. 2007 à 14:12
bilaloch
Messages postés556Date d'inscriptionlundi 6 octobre 2003StatutMembreDernière intervention31 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 ?
cs_Exploreur
Messages postés4822Date d'inscriptionlundi 11 novembre 2002StatutMembreDernière intervention15 novembre 201615 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
bilaloch
Messages postés556Date d'inscriptionlundi 6 octobre 2003StatutMembreDernière intervention31 octobre 20191 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é.
jmfmarques
Messages postés7668Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 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 ?
bilaloch
Messages postés556Date d'inscriptionlundi 6 octobre 2003StatutMembreDernière intervention31 octobre 20191 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
Vous n’avez pas trouvé la réponse que vous recherchez ?
jmfmarques
Messages postés7668Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 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 ...
[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
bilaloch
Messages postés556Date d'inscriptionlundi 6 octobre 2003StatutMembreDernière intervention31 octobre 20191 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").