Déplacement souris [Résolu]

Signaler
Messages postés
63
Date d'inscription
mercredi 25 janvier 2006
Statut
Membre
Dernière intervention
17 janvier 2007
-
Messages postés
313
Date d'inscription
samedi 6 mai 2006
Statut
Membre
Dernière intervention
10 août 2013
-
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&()

    End Sub

5 réponses

Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
36
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 #
Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
30
Salut,

Il faut que tu rempace les long par des integer.






__________
Kenji
Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
30
Il faut aussi que tu type toute la serie de constante



Private Const MOUSEEVENTF_ABSOLUTE As Integer = &H8000
Private Const MOUSEEVENTF_LEFTDOWN As Integer = &H2
Private Const MOUSEEVENTF_LEFTUP As Integer = &H4
Private Const MOUSEEVENTF_MIDDLEDOWN As Integer = &H20
Private Const MOUSEEVENTF_MIDDLEUP As Integer = &H40
Private Const MOUSEEVENTF_MOVE As Integer = &H1
Private Const MOUSEEVENTF_RIGHTDOWN As Integer = &H8
Private Const MOUSEEVENTF_RIGHTUP As Integer = &H10
Private Const MOUSEEVENTF_WHEEL As Integer = &H80
Private Const MOUSEEVENTF_XDOWN As Integer = &H100
Private Const MOUSEEVENTF_XUP As Integer = &H200
Private Const WHEEL_DELTA As Integer = 120
Private Const XBUTTON1 As Integer = &H1
Private Const XBUTTON2 As Integer = &H2,

----

(Coloration syntaxique automatique par Kenji)





__________
Kenji
Messages postés
63
Date d'inscription
mercredi 25 janvier 2006
Statut
Membre
Dernière intervention
17 janvier 2007

Merci aussi à toi Kenji,

Appriori celà fonctionne sans typer les Dim (je vais quand même essayer ta solution pour voir si il y a une différence)

Grand merci à vous deux encore une fois.
Messages postés
313
Date d'inscription
samedi 6 mai 2006
Statut
Membre
Dernière intervention
10 août 2013
1
Voila juste une petit question peut on deplacer la souris en vscript