Simuler une frappe clavier et un click souris

Messages postés
38
Date d'inscription
vendredi 27 avril 2001
Statut
Membre
Dernière intervention
18 mars 2008
- - Dernière réponse : Claiyah
Messages postés
580
Date d'inscription
mercredi 20 août 2008
Statut
Membre
Dernière intervention
20 avril 2010
- 17 nov. 2009 à 18:57
Bonjour,

J'aimerais savoir comment faire pour simuler une frappe clavier dans un
logiciel (non programé en vb) , et comment faire pour simuler un click
souris. J'arrive a deplacer la souris ou je le souhaite mais pas a
simuler un clique. Si vous avez des reponses ou meme des idées... merci
d'avance.



Salut



Pierre
Afficher la suite 

7 réponses

Meilleure réponse
Messages postés
357
Date d'inscription
mercredi 18 décembre 2002
Statut
Membre
Dernière intervention
24 mars 2011
1
1
Merci
Salut,

Pour simuler des frappes clavier ou des clics, moi j'utilise la fonction SendMessage (API Windows). Si tu as MSDN tu devrais trouver très facilement de la documentation sur cette fonction.
il faut que tu envoie a la fenetre un message indiquant une frappe clavier (WM_KEYDOWN par exemple), ou un message pour le clic de la souris.
Bien sur il existe d'autres solutions, comme des fonctions qui simule la frappe en passant par le pilote clavier. Mais je trouve que SendMessage est moins contraignante car elle n'impose pas que la fenetre ait le focus

[mailto:D@runia D@runia]

Dire « Merci » 1

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

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

Messages postés
2717
Date d'inscription
vendredi 28 juin 2002
Statut
Membre
Dernière intervention
13 janvier 2016
11
0
Merci
salut

la solution est d'utiliser les apis windowfrompoint pour savoir la fenêtre qui se trouve sous le curseur, puis sendmessage pour simuler un clique avec WM_MOUSEDOWN puis WM_MOUSEUP...et pour les touches de claviers keybd_event ou plus simplement SendKeys inclu dans VB...

ShareVB
Messages postés
3758
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
10
0
Merci
Salut
Pour simuler une frappe de touche, tu peux utiliser aussi Senkeys.
Pour le clic de souris :

Public Declare Function SetCursorPos Lib "user32" _
( _
ByVal X As Long, _
ByVal Y As Long _
) As Long

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 _
)


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

' x et y sont les valeurs en pixels sur ton screen
' par ex, pour une définition en 800/600, si tu veux cliquer au centre' x 400 et y 300
sub clic(x as integer, y as integer)
' On place le curseur
SetCursorPos x, y
' On simule le clic
mouse_event MOUSEEVENTF_LEFTDOWN + MOUSEEVENTF_LEFTUP, x, y, 0, 0

end sub

Cordialement, CanisLupus
Messages postés
38
Date d'inscription
vendredi 27 avril 2001
Statut
Membre
Dernière intervention
18 mars 2008
0
Merci
Salut, Merci Beaucoup pour vos reponses, C'est nickel !! Juste un petit
truc.... Un moment j'aurais besoin de faire des combinaison de touches
du type alt + une lettre. Est ce que c'est faisable ? Ou meme
simplement pouvoir envoyer la touche alt, je n'y arrive pas avec la
fonction sendkey. N'y aurait il pas une fontion du même genre ou il
faudrait envoyer le code ascii de la touche et pas du texte comme avec
sendkey ? Merci pour vos conseils



Cordialement



Pierre
Messages postés
3758
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
10
0
Merci
Pour les combinaisons de touches on peut le faire aussi avec sendkeys :

SendKeys "%{F4}", True envoie ALT+F4 par ex.
SendKeys "%C", True simule Alt+C

etc...

Pour CTRL, c'est "^"' au lieu de "%"

Cordialement, CanisLupus
Messages postés
18
Date d'inscription
vendredi 12 octobre 2007
Statut
Membre
Dernière intervention
26 octobre 2008
0
Merci
pourqua le truc de la frappe ne marche pas plz help
Messages postés
580
Date d'inscription
mercredi 20 août 2008
Statut
Membre
Dernière intervention
20 avril 2010
0
Merci
bonjour
pour les sendkey tu doit sélectionné le programme au quel tu veut simuler les clics