Bonjour,
Dans le cadre d'un projet personnel j'ai besoin de pouvoir détecter l'utilisation d'une touche (dans mon cas c'est F3) et de répéter cette action le nombre de fois souhaitées.
Je détecte donc la touche avec GetAsyncKeyState que j'ai déclaré et qui fonctionne, puis je renvoie cette même touche plusieurs fois avec SendKeys.
Tout fonctionne sauf que pour une raison qui m'échappe à chaque boucle suivante du timer les 3 actions se répètent.. J'imagine qui considère le dernier F3 envoyé comme si je l'avais tapé moi même.
Existe il un autre moyen de faire ce que je souhaite ? Ou peut être un moyen de différencier ce qui est tapé au clavier et envoyé de façon virtuelle ?
Voici à quoi ressemble mon code.
Merci à vous !!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick If (GetAsyncKeyState(114)) Then SendKeys.Send("{F3}") System.Threading.Thread.Sleep(50) SendKeys.Send("{F3}") System.Threading.Thread.Sleep(50) SendKeys.Send("{F3}") System.Threading.Thread.Sleep(50) End If End Sub
Partager