DÉPLACER LA SOURIS PAR CLAVIER

Signaler
Messages postés
104
Date d'inscription
mardi 9 mars 2004
Statut
Membre
Dernière intervention
30 novembre 2009
-
Messages postés
150
Date d'inscription
samedi 8 avril 2006
Statut
Membre
Dernière intervention
1 mai 2012
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/39748-deplacer-la-souris-par-clavier

Messages postés
150
Date d'inscription
samedi 8 avril 2006
Statut
Membre
Dernière intervention
1 mai 2012
2
Je sais, cette source est vieille ...

Elle est pas trop mal mais:
Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
If e.KeyCode = Keys.Right Then
Windows.Forms.Cursor.Position = New Point(Windows.Forms.Cursor.Position.X + 10, Windows.Forms.Cursor.Position.Y)
End If
If e.KeyCode = Keys.Left Then
Windows.Forms.Cursor.Position = New Point(Windows.Forms.Cursor.Position.X - 10, Windows.Forms.Cursor.Position.Y)
End If
If e.KeyCode = Keys.Down Then
Windows.Forms.Cursor.Position = New Point(Windows.Forms.Cursor.Position.X, Windows.Forms.Cursor.Position.Y + 10)
End If
If e.KeyCode = Keys.Up Then
Windows.Forms.Cursor.Position = New Point(Windows.Forms.Cursor.Position.X, Windows.Forms.Cursor.Position.Y - 10)
End If
If e.KeyCode <> Keys.Right And e.KeyCode <> Keys.Left And e.KeyCode <> Keys.Down And e.KeyCode <> Keys.Up Or e.KeyCode = Keys.Escape Then
Me.Close()
End If
End Sub

Comme ça, plus besoin de label ni de timer ...

A+
Messages postés
121
Date d'inscription
mercredi 26 octobre 2005
Statut
Membre
Dernière intervention
14 mars 2009
1
Sinon j'ai écrit un autre code qui marche également, même si il ne gère le déplacement que dans une direction à la fois :
Const d As System.Int32 = 8
Private Sub appui_sur_touche(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
Select Case e.KeyValue()
Case 37
System.Windows.Forms.Cursor.Position() = New System.Drawing.Point(System.Windows.Forms.Cursor.Position().X() - d, System.Windows.Forms.Cursor.Position().Y())
Case 38
System.Windows.Forms.Cursor.Position() = New System.Drawing.Point(System.Windows.Forms.Cursor.Position().X(), System.Windows.Forms.Cursor.Position().Y() - d)
Case 39
System.Windows.Forms.Cursor.Position() = New System.Drawing.Point(System.Windows.Forms.Cursor.Position().X() + d, System.Windows.Forms.Cursor.Position().Y())
Case 40
System.Windows.Forms.Cursor.Position() = New System.Drawing.Point(System.Windows.Forms.Cursor.Position().X(),System.Windows.Forms.Cursor.Position().Y() + d)
End Select
End Sub
Messages postés
276
Date d'inscription
jeudi 12 janvier 2006
Statut
Membre
Dernière intervention
22 décembre 2008

Oui, bien sur ;)
N'empeche que c'est une solution simple pour par exemple mettre la souris sur le controle de ton choix...
Ou encore empecher la souris de sortir d'un bouton
...
Messages postés
163
Date d'inscription
samedi 2 août 2003
Statut
Membre
Dernière intervention
4 novembre 2013
15
chez moi ca se plante, en plus votre téchnique seras uniltile hors votre application parceque le KeyDown est un évenement propore à votre application c'est pourquoi jt ai deja dit faire un hook globale est la parafite solution pour faire ce genre de programme
Afficher les 10 commentaires