Clic + positionnement Souris VB6

cs_booba27100 Messages postés 40 Date d'inscription mercredi 27 décembre 2000 Statut Membre Dernière intervention 1 octobre 2010 - 20 juin 2010 à 21:13
cs_booba27100 Messages postés 40 Date d'inscription mercredi 27 décembre 2000 Statut Membre Dernière intervention 1 octobre 2010 - 22 juin 2010 à 18:19
Bonsoir, je voudrais savoir comment créer un clic de souris, à un positionnement précis, lors de l'exécution de ma petite application.

[ Mon programme ouvrira une page internet précise avec mozilla firefox, puis le positionnement du curseur sera de 1236 en X et 245 en Y, et lorsque ce positionnement de curseur est fait, j'aimerais que la souris clic sur le lien ]

- GetKeyState
- SendKeys Chr(vbKeyLButton)
- GetCursorPos 1236 en X / 245 en Y
- mouse_event

Voilà ce que j'utilise actuellement, mais aucun clic automatique n'est fait.

Merci de votre aide.

13 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
20 juin 2010 à 21:46
Salut,

il faut utiliser le SetCursorPos pour définir la position du curseur, et le mouse_event avec un MOUSEEVENTF_LEFTDOWN puis MOUSEEVENTF_LEFTUP pour simuler le click.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
cs_booba27100 Messages postés 40 Date d'inscription mercredi 27 décembre 2000 Statut Membre Dernière intervention 1 octobre 2010
21 juin 2010 à 14:00
Peux-tu me mettre les lignes pour le mouse_event ?

Voilà le code de mon début de programme !

Private Sub Command1_Click()
Dim i As Long
Dim id As Integer

    For i = Text4 To Text3 Step 1
        
    id = i + 1


    Shell Text2 & " http://www.mapageinternet.com/id_user=" & Text1 & id & " " 'lancement de FF
       
       'Simulate a click
    SetCursorPos 1236, 312 'les coordonnées de ma souris pour effectuer le clic

' définition du mouse_event 
    mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0 
    mouse_event MOUSEEVENTF_LEFTUP, 0, 0, 0, 0

    Next i 'boucle

End Sub


Le mouse_event ne clic pas, il doit me manquer quelque chose =)
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
21 juin 2010 à 14:25
Salut,

Essaye ainsi (même si je ne suis pas sûr que ca te résolve ton problème : ton code me semble correct) :
        mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0
        sleep(50)
        mouse_event MOUSEEVENTF_LEFTUP, 0, 0, 0, 0


______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
cs_booba27100 Messages postés 40 Date d'inscription mercredi 27 décembre 2000 Statut Membre Dernière intervention 1 octobre 2010
21 juin 2010 à 14:50
Le SLEEP n'est pas reconnu
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
21 juin 2010 à 14:53
Salut,

C'est une API Windows (tout comme le mouse_event), il faut rajouter sa déclaration à ton projet.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
cs_booba27100 Messages postés 40 Date d'inscription mercredi 27 décembre 2000 Statut Membre Dernière intervention 1 octobre 2010
21 juin 2010 à 14:58
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)


mais le clic ne s'effectue toujours pas, il ne manque plus que cela car le positionnement de la souris est OK, la boucle fonctionne ! enfin ce maudit clic gauche de souris
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
21 juin 2010 à 15:01
Salut,

C'est bien comme cà qu'on simule un clic, je vois pas trop pourquoi le navigateur ne le détecte pas.

Sinon, tu as toujours la solution de passer par un contrôle webbrowser, et de lancer un fonction javascript une fois que la page est chargée (en plus, cela sera plus fiable vu que tu n'auras plus à gérer le positionnement de la souris en dur).
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
cs_booba27100 Messages postés 40 Date d'inscription mercredi 27 décembre 2000 Statut Membre Dernière intervention 1 octobre 2010
21 juin 2010 à 15:14
Ah ?!

tu n'as pas le code
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
21 juin 2010 à 15:42
Salut,

Non, ca fais pas mal de temps que j'avais fait cà, mais ce n'est pas très compliqué à faire, fais une petite recherche dans les sources, je pense que tu trouveras ton bonheur.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
cs_booba27100 Messages postés 40 Date d'inscription mercredi 27 décembre 2000 Statut Membre Dernière intervention 1 octobre 2010
21 juin 2010 à 17:22
Merci pour ton aide
0
cs_booba27100 Messages postés 40 Date d'inscription mercredi 27 décembre 2000 Statut Membre Dernière intervention 1 octobre 2010
21 juin 2010 à 18:25
Merci pour ton aide
0
cs_booba27100 Messages postés 40 Date d'inscription mercredi 27 décembre 2000 Statut Membre Dernière intervention 1 octobre 2010
21 juin 2010 à 21:40
Générer un clic gauche

Créer un MODULE (Module1)

Public Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Public Declare Sub mouse_event Lib "user32.dll" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)


Public Const MOUSEEVENTF_LEFTDOWN = &H2
Public Const MOUSEEVENTF_LEFTUP = &H4


Public Sub Mouse_LeftClick()
mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0
mouse_event MOUSEEVENTF_LEFTUP, 0, 0, 0, 0
End Sub


Puis dans votre Form()

Call Mouse_LeftClick
0
cs_booba27100 Messages postés 40 Date d'inscription mercredi 27 décembre 2000 Statut Membre Dernière intervention 1 octobre 2010
22 juin 2010 à 18:19
Merci pour ton aide =)
0
Rejoignez-nous