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.NET Discussion :

Redondance bouton de souris


Sujet :

VB.NET

  1. #1
    Membre expérimenté
    Avatar de retwas
    Homme Profil pro
    Développeur Java/Delphi
    Inscrit en
    Mars 2010
    Messages
    698
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Java/Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 698
    Points : 1 608
    Points
    1 608
    Billets dans le blog
    4
    Par défaut Redondance bouton de souris
    Bonjour,

    Je suis actuellement en train de faire une application, j'ai un code qui se lance sur appuie uniquement d'un bouton. Sous XP il y a une "redondance" sur le bouton de souris c'est comme si j'appuyais au moins 100x dessus.. j'ai changé de souris usb, ps2, .. toujours nok

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ' Variable global, bien plus haut..
    heureTmp = 0
    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
        Private Sub Button221_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button221.Click
            Dim horloge As String
            Dim heureCLick As String
     
            heureCLick = Minute(Now) & ":" & Second(Now)
     
            horloge = Now & vbCrLf
            Clipboard.SetText(horloge)
     
            If (heureCLick <> heureTmp) Then
                'coller texte 
                AppActivate("CG21_PROD")
                Windows.Forms.SendKeys.Send("^v")
                ' ----- 
                heureTmp = heureCLick
            End If
     
            'AppActivate("Ezv -")
     
        End Sub
    Je développe sous Windows 7 tout est ok, le copié se fait que si les seconds sous différentes, seulement sous XP sa copie plusieurs fois la phrase (une centaine !)

    Comment faire?

    Merci

  2. #2
    Membre éclairé Avatar de methylene
    Profil pro
    Inscrit en
    Février 2010
    Messages
    659
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2010
    Messages : 659
    Points : 813
    Points
    813
    Par défaut
    Bonjour,

    C'est en effet étrange, et en pas à pas il se passe quoi ?
    Geeker c'est comme manger, on ne peut pas s'en passer !!!

    Tout est objet !!!

    ____________________________________

    http://www.geekingmania.com

  3. #3
    Membre expérimenté
    Avatar de retwas
    Homme Profil pro
    Développeur Java/Delphi
    Inscrit en
    Mars 2010
    Messages
    698
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Java/Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 698
    Points : 1 608
    Points
    1 608
    Billets dans le blog
    4
    Par défaut
    Pour le pas à pas je ne vois pas ou sa bug.. je me suis mis un XP Virtuel à l'aide de Virtual Box et.. sa marche! mais pourquoi pas sur l'autre? rhaa Windows !

  4. #4
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Jai l'impression que AppActivate("CG21_PROD") ne passe pas immédiatement la main à CG21_PROD, que le Coller se fait dans l'application courante et génère un event Click .

    Que se passe-t'il en mettant un System.Threading.Thread.Sleep(10) ou un Application.DoEvents() juste après le AppActivate ?
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  5. #5
    Membre expérimenté
    Avatar de retwas
    Homme Profil pro
    Développeur Java/Delphi
    Inscrit en
    Mars 2010
    Messages
    698
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Java/Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 698
    Points : 1 608
    Points
    1 608
    Billets dans le blog
    4
    Par défaut
    Citation Envoyé par Graffito Voir le message
    Jai l'impression que AppActivate("CG21_PROD") ne passe pas immédiatement la main à CG21_PROD, que le Coller se fait dans l'application courante et génère un event Click .

    Que se passe-t'il en mettant un System.Threading.Thread.Sleep(10) ou un Application.DoEvents() juste après le AppActivate ?
    Bonjour, quand je rajoute les lignes j'ai l'impression que c'est mieux avec DoEvents() sa copie moins de fois genre entre 2 et 15 fois, c'est bizarre alors que tout marche sur mon Windows 7, mon XP virtuel.. mais pas sur un "vrai" XP..

  6. #6
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Bon, essayons une méthode bien bourrine (syntaxe du While en C#):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    AppActivate("CG21_PROD") ;  
    While (Focused) 
    { // on attend que la forme se désactive
      System.Threading.Thread.Sleep(100) ; 
      Application.DoEvents() ;
    }
    Windows.Forms.SendKeys.Send("^v")
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  7. #7
    Membre expérimenté
    Avatar de retwas
    Homme Profil pro
    Développeur Java/Delphi
    Inscrit en
    Mars 2010
    Messages
    698
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Java/Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 698
    Points : 1 608
    Points
    1 608
    Billets dans le blog
    4
    Par défaut
    Citation Envoyé par Graffito Voir le message
    Bon, essayons une méthode bien bourrine (syntaxe du While en C#):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    AppActivate("CG21_PROD") ;  
    While (Focused) 
    { // on attend que la forme se désactive
      System.Threading.Thread.Sleep(100) ; 
      Application.DoEvents() ;
    }
    Windows.Forms.SendKeys.Send("^v")
    Merci sa marche mais j'avais trouvé sa juste avant et qui marchait aussi ^^

    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
            Me.Hide()
     
            heureCLick = Now
     
            horloge = Now & " : " & vbCrLf
            Clipboard.SetText(horloge)
     
            If (heureTmp <> heureCLick) Then
                AppActivate("CG21_PROD")
                Application.DoEvents()
                While (j < 2)
                    Windows.Forms.SendKeys.SendWait("^v")
                    j = 2
                End While
                Threading.Thread.Sleep(100)
                heureTmp = heureCLick
            End If
            Me.Show()
            AppActivate("Mon appli")

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

Discussions similaires

  1. [Débutant] bouton de souris
    Par bourinator dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 19/05/2009, 19h38
  2. configurer bouton milieu souris
    Par Tex-Twil dans le forum Windows XP
    Réponses: 2
    Dernier message: 09/05/2007, 19h53
  3. Problèmes boutons de souris
    Par omgirl dans le forum Sécurité
    Réponses: 4
    Dernier message: 17/07/2006, 14h56
  4. [Souris] Associer un bouton de souris
    Par GLDavid dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 26/01/2006, 09h44
  5. [JTextArea] bouton gauche souris
    Par let_me_in dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 05/01/2006, 17h48

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