Mousedown n'importe où dans l'appli

flishflash Messages postés 18 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 10 janvier 2005 - 23 juin 2004 à 18:21
flishflash Messages postés 18 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 10 janvier 2005 - 23 juin 2004 à 21:41
Bonsoir,
Je voudrais pouvoir détecter l'appui sur le bouton de la souris à n'importe quel endroit de mon application, dans n'importe quelle fenêtre sans devoir mettre des mousedown partout. Est-ce possible ? Cela se fait-il par l'intermédiaire d'une API ?

4 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
23 juin 2004 à 19:12
Il te suffit de capturer les événements souris sur une fenêtre (ou un contrôle) avec la fonction API SetCapture, puis de rediriger l'événement KetDown par la suite à la fenêtre qui doit recevoir le message.

Pour plus d'info sur cette fonction, ou pour un exemple concret, je te conseille de télécharger ProgOtoP API Viewer.

DarK Sidious

[Responsable API/VB du site www.ProgOtoP.com]
Téléchargez ProgOtoP API Viewer
0
flishflash Messages postés 18 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 10 janvier 2005
23 juin 2004 à 19:17
Merci beaucoup pour ton aide.
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 18
23 juin 2004 à 21:09
Salut,
Petit extrait d'un keylogger en vb auquel g participé modestement, visible ici à l'adresse :
http://www.vbfrance.com/code.aspx?ID=19045

Ds un module (juste pour que ce soit utilisable partout :
Public Const Pressed = -32767
Public Declare Function GetAsyncKeyState Lib "User32" (ByVal vKey As Long) As Integer

Ds ta form principale ou tes autres forms :

Un timer nommé timer1 et ...

Private Sub Timer1_Timer()

' Bouton gauche de la souris
If GetAsyncKeyState(vbKeyLButton) = Pressed Then
'Ton code
' Par exemple
MsgBox "Bouton de gauche"
Unload Me
End If

' Bouton droit de la souris
If GetAsyncKeyState(vbKeyRButton) = Pressed Then
'Ton code
' Par exemple
MsgBox "Bouton de droite"
Unload Me
End If

' Bouton milieu de la souris
If GetAsyncKeyState(vbKeyMButton) = Pressed Then
'Ton code
' Par exemple
MsgBox "Bouton du milieu"
Unload Me
End If

End Sub

Ce que j'ai mis ds les if .... c juste pour que tu testes.

Bonne prog

Cordialement

CanisLupus
0
flishflash Messages postés 18 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 10 janvier 2005
23 juin 2004 à 21:41
Merci, je vais voir ce que je peux faire avec tout ça.
0