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

MFC Discussion :

Générer des évènements clavier pour une application.


Sujet :

MFC

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 67
    Points : 63
    Points
    63
    Par défaut Générer des évènements clavier pour une application.
    Soit une application MFC de type boite de dialogue. Cette application crée un nouveau processus gràce à CreateProcess (on lance notepad.exe par exemple).

    Lors de l'appui sur des boutons de notre boite de dialogue, je veux envoyer des évènements clavier vers le processus créé...

    J'ai pensé à:
    - SendInput. Difficile, car je suis pas sur de qui va recevoir le flux, et en plus je veux ,pas que ma boite de dialogue perde le focus (ou alors pas longtemps, hein)?

    - SendMessage. Mais je sais pas vers quel handle envoyer les évènements, et si WM_KEYUP et WM_KEYDOWN suffisent?

    une piste, un conseil... Merci!

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 573
    Points
    41 573
    Par défaut
    Les SendMessage() ne suffisent pas.
    Par contre, si ton processus est au premier plan, SetForegroundWindow() + SendInput() peut marcher.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 67
    Points : 63
    Points
    63
    Par défaut
    En fait, SendMessage marche dès lors que je connais le handle de la fenêtre à qui je veux envoyer le message...

    J'ai trouvé plusieurs types de réponse, mais celle-ci me plaît bien...

    http://www.codeproject.com/KB/threads/sendmsg.aspx

    J'ai perdu un peu de temps pour avoir voulu tester le fonctionnement avec Notepad.exe... Or cette appli, Ô surprise, ne contient pas de Main Window... Il s'agit juste d'un contrôle édit multiligne...

    Merci à ceux qui ont perdu un peu de temps à chercher...

  4. #4
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 573
    Points
    41 573

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

Discussions similaires

  1. [WD15] Gestion des événements clavier dans une fenêtre.
    Par dvdbly dans le forum WinDev
    Réponses: 3
    Dernier message: 20/09/2010, 08h58
  2. langue de clavier pour une application
    Par khadija24 dans le forum Windows XP
    Réponses: 1
    Dernier message: 03/09/2010, 22h04
  3. [Outils] Quels sont ceux dédiés à des tests automatisés pour une application WPF ?
    Par rsiwpf dans le forum Windows Presentation Foundation
    Réponses: 1
    Dernier message: 23/09/2008, 17h21
  4. Où trouver des images PNG pour une application ?
    Par Pythonesque dans le forum Imagerie
    Réponses: 5
    Dernier message: 10/07/2007, 14h44
  5. Réponses: 7
    Dernier message: 19/04/2007, 13h33

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