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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    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
    Dernière modification par Invité ; 01/09/2010 à 20h52.

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

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

    C'est en effet étrange, et en pas à pas il se passe quoi ?

  3. #3
    Invité
    Invité(e)
    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 confirmé 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
    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 ?

  5. #5
    Invité
    Invité(e)
    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 confirmé 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
    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")

+ 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, 20h38
  2. configurer bouton milieu souris
    Par Tex-Twil dans le forum Windows XP
    Réponses: 2
    Dernier message: 09/05/2007, 20h53
  3. Problèmes boutons de souris
    Par omgirl dans le forum Sécurité
    Réponses: 4
    Dernier message: 17/07/2006, 15h56
  4. [Souris] Associer un bouton de souris
    Par GLDavid dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 26/01/2006, 10h44
  5. [JTextArea] bouton gauche souris
    Par let_me_in dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 05/01/2006, 18h48

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