Déplacement souris

Résolu
bimbo777 Messages postés 63 Date d'inscription mercredi 25 janvier 2006 Statut Membre Dernière intervention 17 janvier 2007 - 4 janv. 2007 à 14:24
kiki67100 Messages postés 313 Date d'inscription samedi 6 mai 2006 Statut Membre Dernière intervention 10 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&()

    End Sub

5 réponses

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
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 #
3
Utilisateur anonyme
4 janv. 2007 à 14:39
Salut,

Il faut que tu rempace les long par des integer.






__________
Kenji
0
Utilisateur anonyme
4 janv. 2007 à 14:46
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
0
bimbo777 Messages postés 63 Date d'inscription mercredi 25 janvier 2006 Statut Membre Dernière intervention 17 janvier 2007
4 janv. 2007 à 14:55
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kiki67100 Messages postés 313 Date d'inscription samedi 6 mai 2006 Statut Membre Dernière intervention 10 août 2013 1
17 janv. 2007 à 19:55
Voila juste une petit question peut on deplacer la souris en vscript
0
Rejoignez-nous