Simuler l'appui d'une touche clavier builder
Résolu
chloé3702
Messages postés
65
Statut
Membre
-
bribri -
bribri -
Bonjour a tous,
je voudrais savoir comment je pourrais simuler l'appui sur une touche de mon clavier.
mise en contexte : lors d'un événement quelconque exemple timer, je voudrais écrire par exemple la lettre "E", la ou mon curseur se trouve cela peut étre dans un memo ou un edit etc.
Comment doit je faire?
merci d'avance a la personne qui aurra la bonne volonté de m'expliquer
a+
je voudrais savoir comment je pourrais simuler l'appui sur une touche de mon clavier.
mise en contexte : lors d'un événement quelconque exemple timer, je voudrais écrire par exemple la lettre "E", la ou mon curseur se trouve cela peut étre dans un memo ou un edit etc.
Comment doit je faire?
merci d'avance a la personne qui aurra la bonne volonté de m'expliquer
a+
Configuration: Windows Vista Internet Explorer 7.0
11 réponses
-
-
-
-
Beh tu compte ty prendre comment? avec un logiciel déja fait sinon fait le en C si tu connais c pas trop compliqué a faire!
Dis mois tes bases en informatik stp. -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Ha je te remerci NOha caar je commencer a ne plus avoir d'espoire.
je programme avec builder c++, je sais gérer la détection d'une touche, comme ceci :
void __fastcall TForm1::FinTimer(TObject *Sender)
{
if((GetAsyncKeyState(VK_CONTROL) & 0x8000) != 0)
{
Label1->Caption = "Enfoncé";
}
else
{
Label1->Caption = "Relâché";
}
}
mais pas simulé un appui si j'appui par exemple sur Clt je veut pourvoir envoyé sur le flux clavier stdout ( je pense ) autre chose
ques ce que tu appel base en informatique?
j'ai envi de te dire débutant pour ne pas m'avancer -
Salut,
Pour simuler une touche, tu peux passer par la fonction : keybd_event() ou SendInput()
https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-keybd_event?redirectedfrom=MSDN
https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-sendinput?redirectedfrom=MSDN
Cdlt -
-
re,
donc la fonction keybd_event fonctionne trés bien, je m'en suis rendu compte par hasard. alors que je testé mon programme avec :
keybd_event(0x43,0,0,0);
keybd_event(0x43,0,KEYEVENTF_KEYUP,0);
donc la touche A 0x43, je retourne sur internet pour rechercher d'autre information et j'appui sur Ctrl et voila qu'il me sélectionne toute la page, je trouve sa assez bizarre avant de me souvenir que Ctrl-A sélectionne tout. génial!!!
mais ceci ne régle enféte pas mon probléme ;(
car je programme avec builder c++ j'ai un édit et un mémo et je voudrais que si je me place sur le mémo et que j'appui sur Clt il m'écrive par exemple la lettre E, je pensais quand simulant une touche clavier ceci me permettré d'écrire dans mon edit ou mon memo mais pas du tout rien se s'affiche ;(
je ne sais plus trop comment faire je suis perdu -
je vien d'avoir une idée peut étre faut t'il rajouté un echo, mais je ne sais pas comment faire
-
Tu ve que quand tu appuie sur la touche ctrl la lettre E s'écrive sous ton pointeur? Pour eviter que sa fasse ctrl+E fait en sorte d'attendre l'evenement de relachement de la touche ctrl et non celui d'appui! Sa évitera ce genre d'erreur.
Voili ;) -
oui tout a fait c'est bon le probléme est résolu
conclusion pour simulé une touche clavier :
keybd_event(0x43,0,0,0); //0x43 représenten la lettre A en hexa
keybd_event(0x43,0,KEYEVENTF_KEYUP,0);
mais ne pas oublier de gérer les éventuels erreurs du l'appui d'une touche et d'une touche simulé
encore merci a tous