cs_pedro
Messages postés38Date d'inscriptionvendredi 27 avril 2001StatutMembreDernière intervention18 mars 2008
-
24 janv. 2005 à 15:55
Claiyah
Messages postés580Date d'inscriptionmercredi 20 août 2008StatutMembreDernière intervention20 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.
cs_darunia
Messages postés354Date d'inscriptionmercredi 18 décembre 2002StatutMembreDernière intervention24 mars 20112 24 janv. 2005 à 19:43
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
ShareVB
Messages postés2676Date d'inscriptionvendredi 28 juin 2002StatutMembreDernière intervention13 janvier 201626 24 janv. 2005 à 19:53
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...
cs_CanisLupus
Messages postés3757Date d'inscriptionmardi 23 septembre 2003StatutMembreDernière intervention13 mars 200620 24 janv. 2005 à 20:27
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
cs_pedro
Messages postés38Date d'inscriptionvendredi 27 avril 2001StatutMembreDernière intervention18 mars 2008 30 janv. 2005 à 14:38
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
Vous n’avez pas trouvé la réponse que vous recherchez ?