Manipulation du clavier...

Signaler
Messages postés
4
Date d'inscription
jeudi 17 février 2005
Statut
Membre
Dernière intervention
14 avril 2005
-
Messages postés
570
Date d'inscription
jeudi 28 novembre 2002
Statut
Membre
Dernière intervention
18 janvier 2021
-
Bonjour a tous

J'aimerais savoir si il est possible de faire comme si une touche du clavier a été enfoncée. Par exemple, je ne suis pas devant mon écran mais c'est comme si j'appuyais sur la touche 'a' toutes les 10 min. Ce n'est qu'un exemple, je n'ai pas besoin de savoir comment gérer des temps, mais juste si il y a moyen de faire croire qu'on a appuyé sur une touche.

Merci

6 réponses

Messages postés
257
Date d'inscription
dimanche 22 août 2004
Statut
Membre
Dernière intervention
29 septembre 2010
2
renseigne toi sur le buffer clavier : il est dans zone de la ram au environ du 700éme octet
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
25
Sous Windows: voir SendInput() dans MSDN.

ciao...
BruNews, MVP VC++
Messages postés
4
Date d'inscription
jeudi 17 février 2005
Statut
Membre
Dernière intervention
14 avril 2005

Premièrement, merci pour les réponses :)
J'ai déjà essayé SendInput, SendMessage/PostMessage, et keybd_event, mais ca ne fonctionne pas.
Je vais être un peu plus précis :)
J'aimerais faire en sorte qu'une application qui utilise directx ait l'impression qu'une touche est enfoncée. D'après ce que j'ai compris, directx lis directement le status du clavier, ce qui explique que ces fonctions ne fonctionnent pas... et DirectInput ne permet pas d'envoyer quoi que ce soit à l'aide du clavier.
Je n'ai pas encore cherché pour le buffer clavier, est ce qu'il y a une chance pour que ca fonctionne ?
Messages postés
257
Date d'inscription
dimanche 22 août 2004
Statut
Membre
Dernière intervention
29 septembre 2010
2
le buffer clavier, c'est un truk gérer par les int BIOS . Je crois que c'est l'interruption 9 ou 16 h ki ecrit dans le buffer clavier. Donc avec MS-DOS sa marche mais avec DirectX ?????
Faut voir si Windows utilise aussi ce buffer clavier ??
Donc faudrait un programme qui lit la RAM .....
Va chercher des infos sur la MSDN
Je pense que sa peut marcher : regarde de la doc sur le net

PS : je cherche desesperement de l'aide pour un post que j'ai mis hier
sur un kernel en C et en asm (c'est deux post plus bas que celui ci) merci
Messages postés
4
Date d'inscription
jeudi 17 février 2005
Statut
Membre
Dernière intervention
14 avril 2005

Je viens de tester une écriture directement sur le buffer clavier, ca affiche les caractères dans l'application qui fait l'interruption uniquement...
De toutes facons, j'avais l'intention d'utiliser du code assembleur avec interruptions dans borland c++ builder, mais ca ne semble pas possible, je pense que je vais laisser tomber cette idée tout simplement ^^;
Merci en tout cas pour les suggestions (et désolé je ne suis pas assez compétent pour répondre à ta question sur le kernel :-( )
Messages postés
570
Date d'inscription
jeudi 28 novembre 2002
Statut
Membre
Dernière intervention
18 janvier 2021
2
Salut,
On peut effectivement simuler l'appui sur une touche.Il faut passer par un driver.On détourne l'interruption du clavier et on rajoute le code de la touche .Il existe un example en masm mais pour l'instant le site est en panne.
C'est l'interruption 16h qui gère le clavier , et n'y a rien la dessus dans msdn.
Voir mon site ,"liens" tout y est sur " masm , dos et vxd".
le site en panne http://www.freewebs.com/four-f/ avec l'exemple d'interrogation clavier sous XP.
MASM32 propose depuis peu un kit pour réaliser des drivers sous XP,2000 et NT

ToutEnMasm