Simuler un click de sourie [Résolu]

Messages postés
235
Date d'inscription
mercredi 30 octobre 2002
Statut
Membre
Dernière intervention
6 octobre 2009
- - Dernière réponse : cs_Booster
Messages postés
235
Date d'inscription
mercredi 30 octobre 2002
Statut
Membre
Dernière intervention
6 octobre 2009
- 3 nov. 2004 à 18:20
Bonjour tlm alors voila mon pb est comme il est marquer dans le titre! Je voudrer simuler un click et un double click de souri !! g chercher sur google sur vbfrance sans gran succés :sad) je me retourne donc ver vou en esperan que qq un poura méclairer !!! :) je vou remerci davance et bonne prog ;)
Afficher la suite 

12 réponses

Meilleure réponse
Messages postés
521
Date d'inscription
mardi 24 décembre 2002
Statut
Membre
Dernière intervention
11 septembre 2008
4
3
Merci
nb : dans le code precedent enleve la boucle do loop parceque sinon ça ne s'arrete pas, excuse l'erreur

Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
Const MOUSEEVENTF_LEFTDOWN = &H2
Const MOUSEEVENTF_LEFTUP = &H4
Const MOUSEEVENTF_MIDDLEDOWN = &H20
Const MOUSEEVENTF_MIDDLEUP = &H40
Const MOUSEEVENTF_MOVE = &H1
Const MOUSEEVENTF_ABSOLUTE = &H8000
Const MOUSEEVENTF_RIGHTDOWN = &H8
Const MOUSEEVENTF_RIGHTUP = &H10
Private Sub Form_Activate()

'simule un clic de souris a l'endroit ou est la souris
mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0&, 0&, cButt, dwEI
DoEvents

End Sub

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 209 internautes nous ont dit merci ce mois-ci

Messages postés
521
Date d'inscription
mardi 24 décembre 2002
Statut
Membre
Dernière intervention
11 septembre 2008
4
0
Merci
met ca dans un form

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

Const SW_SHOWNORMAL = 1
Const WM_CLOSE = &H10
Const WM_COMMAND = 273
Const BN_CLICKED_YES = 6
Const BN_CLICKED_NO = 7

dim FenetreConfirmation as string

'la valeur de FenetreConfirmation est le nom dans la barre bleu en haut de la fenêtre

FenetreConfirmation = "Le titre de la fenetre ou je veux cliquer"

'ferme la messagebox de confirmation
WinWnd = FindWindow("#32770", FenetreConfirmation)
ShowWindow WinWnd, SW_SHOWNORMAL
If MonChoix = "ValideYES" Then
PostMessage WinWnd, WM_COMMAND, BN_CLICKED_YES, 0&
ElseIf MonChoix = "ValideNO" Then
PostMessage WinWnd, WM_COMMAND, BN_CLICKED_NO, 0&

End If
Messages postés
521
Date d'inscription
mardi 24 décembre 2002
Statut
Membre
Dernière intervention
11 septembre 2008
4
0
Merci
NB :

l'exemple ci dessus est pour valider une msgbox de confirmation

qui a deux boutons "oui" et "non"
Messages postés
235
Date d'inscription
mercredi 30 octobre 2002
Statut
Membre
Dernière intervention
6 octobre 2009
0
Merci
lu merci davoir repondu si vite !! mais heu alor bah g modif un pe ton code pk cher moi il me méter une erreur et g po compri se qu'il fesai exactement tu ma di il valide une msgbox ok mai bon qd je le demarre ya po de msgbox qui apparai et jen est fai aparaitre une : (msgbox "aa",vbyesno) mai il ne ma rien fai! tu pourer po faire plu simplement qd par exempl japui sur la touche "a" du clavier la souri double clique a lendroi ou elle est par exemple je la met sur un icon japui sur a et op ca demare l'aplication ;) merci qd mm pour se que tu a fai la :) !!
Messages postés
521
Date d'inscription
mardi 24 décembre 2002
Statut
Membre
Dernière intervention
11 septembre 2008
4
0
Merci
il faut que tu te serve de deux projets dans l'un tu fais apparaitre ta msgbox puis tu lance l'autre projet qui va valider la msgbox du premier projet.

si tu met tout dans un seul projet il ne faut pas oublier que une msgbox est bloquante pour ton programme c'est a dire que tant que tu n'as pas validé la msgbox ton code ne continu pas.

je crois que c'est ca ton probleme
Messages postés
521
Date d'inscription
mardi 24 décembre 2002
Statut
Membre
Dernière intervention
11 septembre 2008
4
0
Merci
pour cliquer a l'endroit ou ta souris est :

Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
Const MOUSEEVENTF_LEFTDOWN = &H2
Const MOUSEEVENTF_LEFTUP = &H4
Const MOUSEEVENTF_MIDDLEDOWN = &H20
Const MOUSEEVENTF_MIDDLEUP = &H40
Const MOUSEEVENTF_MOVE = &H1
Const MOUSEEVENTF_ABSOLUTE = &H8000
Const MOUSEEVENTF_RIGHTDOWN = &H8
Const MOUSEEVENTF_RIGHTUP = &H10
Private Sub Form_Activate()
Do
'simule un clic de souris a l'endroit ou est la souris
mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0&, 0&, cButt, dwEI
DoEvents
Loop
End Sub
Messages postés
235
Date d'inscription
mercredi 30 octobre 2002
Statut
Membre
Dernière intervention
6 octobre 2009
0
Merci
Ca marche po :sad) regarde g mi un timer pour retarder le clique mai ca clique po :sad)
t sur que ca marcher cher toi ?

Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
Const MOUSEEVENTF_LEFTDOWN = &H2
Const MOUSEEVENTF_LEFTUP = &H4
Const MOUSEEVENTF_MIDDLEDOWN = &H20
Const MOUSEEVENTF_MIDDLEUP = &H40
Const MOUSEEVENTF_MOVE = &H1
Const MOUSEEVENTF_ABSOLUTE = &H8000
Const MOUSEEVENTF_RIGHTDOWN = &H8
Const MOUSEEVENTF_RIGHTUP = &H10
Dim nbtour As String

Private Sub Form_Load()
nbtour = 0
End Sub

Private Sub Timer1_Timer()
nbtour = nbtour + 1
If nbtour = 4 Then
mouse_event MOUSEEVENTF_LEFTUP, 0&, 0&, cButt, dwEI
DoEvents
nbtour = 0
End If
End Sub
Messages postés
235
Date d'inscription
mercredi 30 octobre 2002
Statut
Membre
Dernière intervention
6 octobre 2009
0
Merci
escuse moi escuse moi ca marche tre bien ;) JE TE REMERCI C JUSTE QU EJAVER OUBLIER : OUSEEVENTF_LEFTDOWN Or donc enfet on fai ca :
Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
Const MOUSEEVENTF_LEFTDOWN = &H2
Const MOUSEEVENTF_LEFTUP = &H4
Const MOUSEEVENTF_MIDDLEDOWN = &H20
Const MOUSEEVENTF_MIDDLEUP = &H40
Const MOUSEEVENTF_MOVE = &H1
Const MOUSEEVENTF_ABSOLUTE = &H8000
Const MOUSEEVENTF_RIGHTDOWN = &H8
Const MOUSEEVENTF_RIGHTUP = &H10
Dim nbtour As String

Private Sub Form_Load()
nbtour = 0
End Sub

Private Sub Timer1_Timer()
nbtour = nbtour + 1
If nbtour = 4 Then
mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0&, 0&, cButt, dwEI
DoEvents
nbtour = 0
End If
End Sub

ET CA MARCHE NIQUEL TRO MERCI et bonne continuation ;)
Messages postés
521
Date d'inscription
mardi 24 décembre 2002
Statut
Membre
Dernière intervention
11 septembre 2008
4
0
Merci
passe la reponse en reponse accepté cela servira au autre a voir que, pour ta question il y a une reponse valide.
Messages postés
235
Date d'inscription
mercredi 30 octobre 2002
Statut
Membre
Dernière intervention
6 octobre 2009
0
Merci
Voila c fait et encore merci a toi vraiment tro merci pk la gt blocker :) MERCIIIIIIIIIIIIIIIIIIIII
Messages postés
521
Date d'inscription
mardi 24 décembre 2002
Statut
Membre
Dernière intervention
11 septembre 2008
4
0
Merci
PS: tu aurai pu mettre l'un de mes post en reponse accepté, c'est quand meme moi qui t'ai trouvé une solution.

a + bonne prog.
Messages postés
235
Date d'inscription
mercredi 30 octobre 2002
Statut
Membre
Dernière intervention
6 octobre 2009
0
Merci
ouais dsl javai accepter le dernier truc mai c vrai que c toi qui a trouver ;) je vien de rectifier ! merci bonne prog a toi ++