IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

simuler le click gauche de la souris


Sujet :

VB 6 et antérieur

  1. #1
    Membre régulier
    Homme Profil pro
    dfsdffsd
    Inscrit en
    Octobre 2005
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : dfsdffsd

    Informations forums :
    Inscription : Octobre 2005
    Messages : 88
    Points : 72
    Points
    72
    Par défaut simuler le click gauche de la souris
    Bonjour a tous,
    Je voudrais savoir s’il est possible de simuler le click gauche de la souris en écrivant seulement du code un peu comme si on utilisait la commande sendkey avec le bouton gauche de la souris.
    Merci

  2. #2
    Membre éclairé
    Avatar de Asdorve
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 336
    Points : 718
    Points
    718
    Par défaut
    salut, j'ai trouvé un peu de code pour essayer d'approcher de ce que tu demandes.

    Tu le colle dans un nouveau projet: tu peux, à l'aide de 4,6,8,2 du pavé numérique déplacer ta souris sur l'écran. Avec 5 tu simules un clic.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
     
    Private Declare Function SendMessage Lib "user32" _
                Alias "SendMessageA" (ByVal hwnd As Long, _
                                   ByVal wMsg As Long, _
                                   ByVal wParam As Long, _
                                   ByVal lParam As Long) As Long
     
     
    Private Declare Function SetCursorPos Lib "user32" ( _
                             ByVal X As Long, ByVal Y As Long) As Long
    Dim X As Long, Y As Long
     
    ' Retourne la position de la souris sur l'écran
    Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
     
    ' Coordonnées d'un point de l'écran
    Private Type POINTAPI
        X As Long
        Y As Long
    End Type
    Private Const MK_LBUTTON = &H1
    Private Const WM_LBUTTONDOWN = &H201
     
    Dim nMousePosition As Long
     
     
    Private Sub Form_Load()
     
    'Position de la souris
    X = 10
    Y = 10
    ' Cet appel de fonction placera le pointeur de la souris au
    ' coordonnées indiquées dans les zones de texte
    Call SetCursorPos(X, Y)
    End Sub
     
    'Pour déplacer sa souris sur l'écran
    Private Sub Form_KeyPress(KeyAscii As Integer)
     
        '---Déclaration des variables---
        Dim Coord As POINTAPI
     
        '---Affiche les coordonnées du curseur de la souris---
     
            GetCursorPos Coord
            'Me.Caption = "Bouton gauche de la souris enfoncé : x = " & _
                         Coord.x & " , y = " & Coord.y
    Select Case KeyAscii
     
        Case Is = 52
            'MsgBox "gauche"
            Coord.X = Coord.X - 10
            Call SetCursorPos(Coord.X, Coord.Y)
         Case Is = 54
            'MsgBox "Droite"
            Coord.X = Coord.X + 10
            Call SetCursorPos(Coord.X, Coord.Y)
        Case Is = 56
            'MsgBox "haut"
            Coord.Y = Coord.Y - 10
            Call SetCursorPos(Coord.X, Coord.Y)
        Case Is = 50
           'MsgBox "Bas"
            Coord.Y = Coord.Y + 10
            Call SetCursorPos(Coord.X, Coord.Y)
     
        Case Is = 53
            'MsgBox "Clic"
            Text1.Text = CInt(Coord.X) & "/" & CInt(Coord.Y)
     
            Coord.X = LoWord(Coord.X)
            Coord.Y = HiWord(Coord.Y)
     
            Let nMousePosition = MakeDWord(CInt(Coord.X), CInt(Coord.Y))
            Call SendMessage(Me.hwnd, WM_LBUTTONDOWN, MK_LBUTTON, _
             nMousePosition)
     
    End Select
     
    End Sub
     
    Function MakeDWord(LoWord As Integer, HiWord As Integer) As Long
        MakeDWord = (HiWord * &H10000) Or (LoWord And &HFFFF&)
    End Function
     
     
    Function LoWord(DWord As Long) As Integer
        If DWord And &H8000& Then ' &H8000& = &H00008000
            LoWord = DWord Or &HFFFF0000
        Else
            LoWord = DWord And &HFFFF&
        End If
    End Function
     
    Function HiWord(DWord As Long) As Integer
        HiWord = (DWord And &HFFFF0000) \ &H10000
    End Function
     
    Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    MsgBox "ça marche. Ce message est affiché lorsque l'événement Form_MouseDown est appelé."
    End Sub
    J'espère que ça te permettra d'avancer un peu.

  3. #3
    Membre régulier
    Homme Profil pro
    dfsdffsd
    Inscrit en
    Octobre 2005
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : dfsdffsd

    Informations forums :
    Inscription : Octobre 2005
    Messages : 88
    Points : 72
    Points
    72
    Par défaut
    merci beaucoup

  4. #4
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    Salut les mecs (ou les filles, selon)

    Chez moi, ça marche pas bien. J'ai remplacé le TextBox par un Label et tout es OK! Chouette le bout de code.

    P.S. J'ai surtout apprécié le fait que ça marche même si le pointeur est en dehoers de la fenêtre du programame.

  5. #5
    Membre éclairé
    Avatar de Asdorve
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 336
    Points : 718
    Points
    718
    Par défaut
    salut à tous,

    JE voudrais profiter de ce post pour un petit projet commun sur lequel nous pourrions réfléchir à plusieurs: créer un programme qui permet de prendre le controle de la souris avec le clavier, même en dehors des forms vb.

    Je ne sais pas si celà est réalisable, mais si certains ont des propositions, ça serait super!

  6. #6
    Expert éminent sénior
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 112
    Points : 16 645
    Points
    16 645
    Par défaut post pour un petit projet commun
    Bonsoir
    Asdorve
    JE voudrais profiter de ce post pour un petit projet commun sur lequel nous pourrions réfléchir à plusieurs: créer un programme qui permet de prendre le controle de la souris avec le clavier, même en dehors des forms vb.
    Moi je suis interessé, j'ai deja un petit prog qui me sert pour un logiciel de dessin (calcul dimension en pixel entre 2 clicks sucsessifs) dans Paint Shop Pro 6.


    Si cette source peut être ma premiere contribution a se post eventuel ...

    A toi Asdorve de créer le post pour ce projet commun, je suivrai

    Un Zip ce trouve ICI http://www.developpez.net/forums/sho...d.php?t=254636

Discussions similaires

  1. Réponses: 3
    Dernier message: 18/03/2009, 18h39
  2. simuler un click souris sur un CButton pb
    Par Emyleet dans le forum MFC
    Réponses: 2
    Dernier message: 13/06/2008, 10h16
  3. [C#] Simuler un Click souris
    Par helmout dans le forum Windows Forms
    Réponses: 13
    Dernier message: 13/12/2007, 02h59
  4. Simuler le click de la souris sur le focus d'un form ?
    Par HookerSeven dans le forum Access
    Réponses: 9
    Dernier message: 24/02/2006, 23h32
  5. Simulation de click souris
    Par Nats dans le forum Windows
    Réponses: 5
    Dernier message: 07/02/2005, 21h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo