bimbo777
Messages postés63Date d'inscriptionmercredi 25 janvier 2006StatutMembreDernière intervention17 janvier 2007
-
4 janv. 2007 à 14:24
kiki67100
Messages postés313Date d'inscriptionsamedi 6 mai 2006StatutMembreDernière intervention10 août 2013
-
17 janv. 2007 à 19:55
Bonjour à tous,
Je suis débutant et je souhaiterai pouvoir automatiser le déplacement de ma souris (je verrai les clicks plus tard...)
J'ai un soucis avec mon code, le courseur se déplace bien mais il me met cette erreur
(PInvokeStackImbalance was detected
Message: Un appel à la fonction PInvoke 'ConsoleApplication66!ConsoleApplication66.Module1::mouse_event' a déséquilibré la pile. Cela peut se produire, car la signature PInvoke managée ne correspond pas à la signature cible non managée. Vérifiez que la convention d'appel et les paramètres de la signature PInvoke correspondent à la signature non managée cible)
vous avez une idée?
de plus le déplacement se fait que sur la verticale (pourtant les coordonées X et Y représente bien l'horizontale et la verticale non???)
Merci de votre aide
voici le code:
----------------------
Module Module1
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)
Private Declare Function SetCursorPos& Lib "user32" ()
Dim X As Long
Dim Y As Long
Dim MOUSEEVENTF_ABSOLUTE = &H8000
Dim MOUSEEVENTF_LEFTDOWN = &H2
Dim MOUSEEVENTF_LEFTUP = &H4
Dim MOUSEEVENTF_MIDDLEDOWN = &H20
Dim MOUSEEVENTF_MIDDLEUP = &H40
Dim MOUSEEVENTF_MOVE = &H1
Dim MOUSEEVENTF_RIGHTDOWN = &H8
Dim MOUSEEVENTF_RIGHTUP = &H10
Dim MOUSEEVENTF_WHEEL = &H80
Dim MOUSEEVENTF_XDOWN = &H100
Dim MOUSEEVENTF_XUP = &H200
Dim WHEEL_DELTA = 120
Dim XBUTTON1 = &H1
Dim XBUTTON2 = &H2
Sub main()
X = 50
Y = 421
mouse_event(MOUSEEVENTF_MOVE, X, Y, Nothing, Nothing)
SetCursorPos&()
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 4 janv. 2007 à 14:41
Attention aux types de variables. Ils ont changés avec la plateforme .NET
Tout ce qui est de type Long en VB6 ou API Win32, devient de l'Integer (Int32) en .NET
Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Int32, ByVal dx As Int32, ByVal dy As Int32, ByVal cButtons As Int32, ByVal
dwExtraInfo As Int32)
Private Declare Function SetCursorPos& Lib "user32" ()
Dim X As Int32
Dim Y As Int32
---- Sevyc64 (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #