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

VBScript Discussion :

Simuler clic souris en VBScript


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Janvier 2010
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 58
    Par défaut Simuler clic souris en VBScript
    Bonjour,

    Je débute en VBScript. Je souhaiterais en fait simuler un clic de souris en VBScript ; pour ce faire, j'ai installé le wrapper dynwrapx.dll.

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public const MOUSEEVENTF_LEFTDOWN = &H2
     
    set DX = CreateObject ("DynamicWrapperX")
    DX.Register "user32.dll", "mouse_event", "i=uu", "i=uu", "i=uu", "i=uu", "i=uu"
     
    DX.mouse_event MOUSEEVENTF_LEFTDOWN, 300, 30, 0, 0
    Windows me renvoie une erreur.

    Pourriez-vous me dire d'où vient l'erreur s'il vous plaît ?

    Merci

  2. #2
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Citation Envoyé par menas Voir le message
    Bonjour,

    Je débute en VBScript. Je souhaiterais en fait simuler un clic de souris en VBScript ....
    pourquoi vouloir débuter avec des trucs pour lesquels VBScript n'est pas prévu ...!

    Citation Envoyé par menas Voir le message
    Windows me renvoie une erreur.
    on est content ... pour toi mais n'ayant toujours pas trouvé de boule de cristal l'on ne voit pas à quoi elle ressemble ton erreur ...



    Citation Envoyé par menas Voir le message
    Pourriez-vous me dire d'où vient l'erreur s'il vous plaît ?
    Merci
    de windows tu as écrit plus haut "Windows me renvoie une erreur" ...



  3. #3
    Membre averti
    Inscrit en
    Janvier 2010
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 58
    Par défaut
    Salut, et merci pour ta réponse

    on est content ... pour toi mais n'ayant toujours pas trouvé de boule de cristal l'on ne voit pas à quoi elle ressemble ton erreur ...
    Ci-joint une capture d'écran.

    pourquoi vouloir débuter avec des trucs pour lesquels VBScript n'est pas prévu ...!
    Je suis en train de développer une appli LabVIEW, qui devra acquérir des données à partir d'une carte d'acquisition NI. En plus de cela, cette appli devra piloter des logiciels d'acquisition (dont je n'ai pas le code source) ne disposant pas de contrôles ActiveX.
    C'est pourquoi j'ai pensé à cette méthode bête et méchante : programmer les clics de la souris en VBscript, et les lancer à partir de LabVIEW.
    LabVIEW permet en effet d'exécuter des lignes de commandes. L'alternative, c'est d'exécuter des .exe au lieu de .vbs, mais j'ai été attiré par les scripts car ils ne nécessitent pas l'installation d'un compilateur.
    J'espère avoir répondu à ta question !
    Images attachées Images attachées  

  4. #4
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Cela semble hasardeux comme méthode d'acquisition, j'aimerais bien savoir quel est ton mystérieux "système d'acquisition"

    pourquoi ne pas utiliser LabVIEW directement pour effectuer tes appels de fonctions dll.

  5. #5
    Membre averti
    Inscrit en
    Janvier 2010
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 58
    Par défaut
    Cela semble hasardeux comme méthode d'acquisition
    Malheureusement, je n'ai guère le choix

    j'aimerais bien savoir quel est ton mystérieux "système d'acquisition"
    Avec LabiVIEW, je souhaite centraliser toutes les manips. Je veux contrôler deux logiciels d'acquisition distincts (pas du tout connus), chacun tournant sur son propre PC.

    Le premier logiciel semble avoir été écrit en C++. Pas de code source disponible. Une DLL semble contenir les fonctions qui m'intéressent (par curiosité, je l'ai désassemblée). Mais de toute manière, sans documentation, je ne peux rien faire. Le capteur est connecté au PC via RS232. La société qui a créé cela n'existe plus.

    L'autre logiciel d'acquisition est du code LabVIEW compilé. Donc même problème.

    C'est pourquoi j'ai pensé que la méthode la plus directe pour automatiser les contrôles sur ces applis, c'est de simuler les clics sur les boutons, comme un opérateur le ferait.

    pourquoi ne pas utiliser LabVIEW directement pour effectuer tes appels de fonctions dll.
    C'est ce que je testerai dès demain matin, merci. Merci également pour ton exemple : http://www.developpez.net/forums/d98...placer-souris/

    Même si au final j'opterai pour l'appel des WinAPI32 directement par LabVIEW, pourrais-tu me dire 'il te plaît qu'est ce qui cloche dans mon bout de code ? Alors que je me suis inspiré de ton exemple.

    Merci

  6. #6
    Rédacteur
    Avatar de omen999
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 302
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 302
    Par défaut
    bonjour,
    pourrais-tu me dire 'il te plaît qu'est ce qui cloche dans mon bout de code ? Alors que je me suis inspiré de ton exemple.
    pas tout à fait car la syntaxe d'appel est incorrecte
    voir ici

    le "twisted stuff" qui va bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public const MOUSEEVENTF_LEFTDOWN = &H2
    public const MOUSEEVENTF_LEFTUP = &H4
    set DX = CreateObject ("DynamicWrapperX")
    DX.Register "user32.dll", "mouse_event", "i=uuuup"
    DX.mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0
    DX.mouse_event MOUSEEVENTF_LEFTUP, 0, 0, 0, 0
    ne pas oublier de "relâcher" le bouton pour simuler le click
    nomen omen, nemo non omen - Consultez la FAQ VBScript et les cours et tutoriels VBScript
    le plus terrible lorsqu'une voiture renverse un piéton, c'est que ce sont les freins qui hurlent. (ramón)
    pas de questions techniques par mp

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Simuler évènements utilisateur (clic souris, entrée clavier)
    Par _vince_ dans le forum Bibliothèques tierces
    Réponses: 5
    Dernier message: 28/11/2011, 18h44
  2. Réponses: 1
    Dernier message: 20/11/2010, 11h11
  3. problème simulation clic souris avec "postMessage"
    Par Lustuc dans le forum Windows
    Réponses: 1
    Dernier message: 06/09/2009, 10h49
  4. Réponses: 6
    Dernier message: 13/03/2007, 10h04
  5. simuler clic souris robot
    Par zarbouine dans le forum Langage
    Réponses: 2
    Dernier message: 01/02/2006, 07h49

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