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 :

"capturer" une touche du clavier


Sujet :

VB 6 et antérieur

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    346
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 346
    Par défaut "capturer" une touche du clavier
    ... Desolé pour le sujet peu explicite:

    pour ceux qui utilisent Google Desktop par exemple, je voudrai que mon application puisse réagir lorsque l'utilisateur appuie 2 fois sur Ctrl (ou autres touches) dans Windows....

    C'est à dire que mon programme est lancé, mais n'a pas le focus. Et je voudrai qu'un raccourci clavier le fasse reagir.

    Est ce possible ?

    Joyeuses fetes

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

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

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 139
    Par défaut
    Bonsoir
    Possible, OUI

    Rechercher dans ce forum :Assigné une touche de raccourci a un bouton

    Si probleme de compréhention, je repondrai de mon mieux
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    346
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 346
    Par défaut
    Merci pour ta réponse, mais justement, ça ne correspond pas à ce que je veux car assigner une touche de raccourci à un bouton ne fonctionne que lorsque la fenêtre détient déjà le focus.
    Or, je veux que mon programme s'active (d'une certaine façon) lorsque l'utilisateur appuyerait sur une séquence de touches... sans, justement, que mon programme détienne deja le focus.
    Exactement le principe de Google Desktop, quand on veut lancer une recherche sur le bureau de Windows, on peut appuyer 2 fois sur CTRL pour activer la fenêtre de recherche...

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

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

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 139
    Par défaut
    bonjour

    sans, justement, que mon programme détient deja le focus
    Justement l'API SetTimer permet de prendre la main toutes les x secondes, autrement dit ton programmme s'execute en tâche de fond, il ne prend pas le focus laissant le focus au programme de destination.
    Ton programme executera la commande assossiée au jeux de touche que tu auras decidé dans la procedure TimerProc.

    avec (1 touche clavier détectée)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      If GetAsyncKeyState(vbKeyMONCHOIXDETOUCHE) <> 0 Then
         ' faire ce que je veux
         End if
    ou (2 touches clavier détectées)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      If GetAsyncKeyState(vbKeyMONCHOIXDETOUCHE1) <> 0 and GetAsyncKeyState(vbKeyMONCHOIXDETOUCHE2) then
         ' faire ce que je veux
         End if
    donc, si j'ai bien compris, tu veux que ton programme prenne la main, faire ce que je veux deviendra
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
      If GetAsyncKeyState(vbKeyMONCHOIXDETOUCHE) <> 0 Then
         Me.Setfocus
         ' mon prog va faire un truc     
    End if
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  5. #5
    Membre émérite Avatar de avigeilpro
    Homme Profil pro
    Ambulancier
    Inscrit en
    Janvier 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : Ambulancier
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2004
    Messages : 880
    Par défaut
    sinon tu va sur mon site, il y a un module avec des API pour le clavier (Keyboard), l'une d'elles permet de savoir si telle ou telle touche est enfoncée sans pour autant avoir le focus. (GetKeyState)
    La connaissance seule ne suffit pas. La vraie compréhension vient de la mise en expérience.
    Règles|FAQ|Tuto

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    346
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 346
    Par défaut
    MErci beaucoup, je pense que ça résoudra mon probleme

    Joyeuses fêtes.

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

Discussions similaires

  1. Simuler l’appuie sur une touche du clavier
    Par Furius dans le forum C++
    Réponses: 2
    Dernier message: 26/09/2005, 18h15
  2. [CF][C#/PPC] Comment être à l'écouter d'une touche du clavier ?
    Par freddyboy dans le forum Windows Mobile
    Réponses: 6
    Dernier message: 18/05/2005, 18h32
  3. [Turbo Pascal] Lire une touche au clavier sans interrompre le programme
    Par Allelouia dans le forum Turbo Pascal
    Réponses: 13
    Dernier message: 29/03/2003, 23h31

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