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

Windows Forms Discussion :

[VB.NET] capture d'un événement clavier extérieur à son application


Sujet :

Windows Forms

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 39
    Points : 29
    Points
    29
    Par défaut [VB.NET] capture d'un événement clavier extérieur à son application
    J'ai trouvé ça sur msdn :
    http://msdn.microsoft.com/library/fr...classtopic.asp

    En gros, passez un object et son KeyPressEventArgs object qui lui est associé. Pratique quand on veut capturer un événement clavier dans son application mais imaginons que je veuille créer un petit programme pour faire des captures d'écrans sans que mon programme soit à l'avant plan ou sans faire alt-tab. Comment puis-je appeler un KeyPressEventArgs object lié à un programme extérieur, voir même du bureau ?

    J'ai aussi essayé de bouger la form mais cela ne fonctionne pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    'pour faire disparaitre ma form
    Me.setbounds(-600,0,0,0)
    Me.visible = false
    Application.DoEvents
    'ça ne fonctionne pas...
    Merci d'avance.

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 39
    Points : 29
    Points
    29
    Par défaut
    J'ai fait une boucle for avec 300 itérations de Application.DoEvents et cela marche. Pas trop génial comme idée.

    Avez vous une meilleure solution ?

  3. #3
    Membre expérimenté Avatar de Mose
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 143
    Points : 1 379
    Points
    1 379
    Par défaut
    Sauf erreur de ma part, c'est pas en .Net que tu trouveras la solution, mais en Win32. Après, Win32 peut s'intégrer à .Net...

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 39
    Points : 29
    Points
    29
    Par défaut
    Merci Mose.

    En effet, il y a la fonction GetAsyncKeyState dans la librairie user32 pour avoir l'état d'une touche.

    Pour ceux qui sont intéressés :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Private Declare Function GetAsyncKeyState Lib "User32" (ByVal vKey As Integer) As Boolean
    (...)
    'dans le code, il suffit de tester si la touche est pressée ou pas
    If Me.GetAsyncKeyState(Keys.Snapshot) Then
    'programme de capture
    End If

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 06/03/2009, 21h24
  2. Capturer les événement claviers sous Webdev
    Par Dedalerun dans le forum WebDev
    Réponses: 0
    Dernier message: 19/01/2009, 08h26
  3. [JTabbedPane] capture des événements clavier
    Par sepas dans le forum Agents de placement/Fenêtres
    Réponses: 8
    Dernier message: 13/06/2008, 23h10
  4. [MFC][VC++.NET]gestion évènement clavier
    Par Rafoo dans le forum MFC
    Réponses: 2
    Dernier message: 14/12/2005, 09h29
  5. Réponses: 5
    Dernier message: 25/07/2005, 09h29

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