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 :

Récupérer le focus sur une fenêtre masquée avec SW_HIDE ?


Sujet :

MFC

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 227
    Par défaut Récupérer le focus sur une fenêtre masquée avec SW_HIDE ?
    Salut,

    Pour mon programme je voudrait faire un truc anti patron (comme dans MSNplus)

    Avec cette fonction j'arrive a masquer la fenêtre,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ShowWindow(hwnd, SW_HIDE);
    Après il suffit d'utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ShowWindow(hwnd, SW_SHOW);
    pour la faire réapparaitre mais comment dire a l'appli d'éxecuter cette fonction : Il faudrait pouvoir récupérer le focus sur la fenêtre....

    Merci de m'aider

  2. #2
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    moi perso, j'ai pas compris ce que tu voulais faire

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 227
    Par défaut
    En fait je voudrait savoir comment interagir avec l'appli une fois que la fenêtre a été masqué avec "SW_HIDE"

    masqué avec "SW_HIDE" : cela signifie que la fenêtre n'est plus à l'écran ni dans la barre de menu, on peut juste voir l'appli tourner dans le Gestionaire des tâches > onglet : Processus

    Voila j'espère avoir été assez clair.

  4. #4
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    tu veux interagir avec cette appli depuis une autre appli ? c'est cela ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 227
    Par défaut
    Ben je sait pas trop comment faire ça pourrait être une solution...

    On peut pas reserver une touche qui garde le focus sur l'application (c'est comme ça que marche Winamp : même si la fenêtre du lecteur n'est pas active les touches F9 , et d'autres interagissent sur l'application.

    PS: la première solution est peut être plus simple, saurait tu comment faire....

  6. #6
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    désolé de revenir dessus, mais je n'ai toujours pas compris ce que tu voulais faire

    tu veux restaurer la fenetre de ton application depuis cette meme fenetre ?
    tu veux restaurer la fenetre de ton application depuis une autre application ?
    tu veux restaurer la fenetre de ton application depuis une touche ?

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 227
    Par défaut
    Je cherche simplement un moyen pour restaurer ma fenêtre,
    Citation Envoyé par nico-pyright(c)
    tu veux restaurer la fenetre de ton application depuis une autre application ?
    tu veux restaurer la fenetre de ton application depuis une touche ?
    Je voudrait plutôt restaurer la fenetre de mon application depuis une touche,
    mais si c'est trop compliquer je la restaurerais depuis une autre application.

  8. #8
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Par défaut
    Il faut que tu mettes un hook sur cette application qui va intercepter la touche qui t'intéresse et qui fera apparaitre la fenêtre.
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  9. #9
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    Citation Envoyé par Trap D
    Il faut que tu mettes un hook sur cette application qui va intercepter la touche qui t'intéresse et qui fera apparaitre la fenêtre.
    pareil
    hook global, voir SetWindowsHookEx et dans la faq il y a un exemple : http://c.developpez.com/faq/vc/?page...s#HookKeyboard

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 227
    Par défaut
    Je voudrait que ça marche aussi sur Windows98, que faut t'il modifier ?

    PS: L'exemple dans la faq ne marche que sur NT/2000/XP

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 227
    Par défaut
    Je vois pas bien à quoi sert "hookToucheWindowsDll.lib" c'est la DLL qui contient les info pour le hook non ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #pragma comment( lib, "hookToucheWindowsDll.lib" )
    Si cette librairie est indispensable comment on fait pour la créer ? (j'en ai jamais fait)

  12. #12
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    l'exemple de la faq utilise le low level keyboard hook, c'est lui qui ne fonctionne que sous NT/2000 et plus.

    Pour fonctionner sous 98, implemente un hook clavier classique.

    Il te faut faire une dll, choisir une touche pour la restauration.

    Je te conseille de passer le handle de ta fenetre à la dll, puis lorsque la touche est interceptée de faire un ShowWindow sur ce handle

  13. #13
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 227
    Par défaut
    J'ai compilé le dll sans aucun pb,
    mais après quant je veut compiler mon appli ça renvoi cette erreur : "[Linker error] undefined reference to `installeLeHookClavier@0' " pourtant j'ai bien mis la lib dans les option du projet

    PS: je suis sous Dev-Cpp

    EDIT: j'ai aussi l'erreur : "[Linker error] undefined reference to `ArreteLeHookClavier@0' "

  14. #14
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    si tu as mis la lib dans les options du link, tu ne devrais pas avoir ce problème. La librairie est-elle dans le meme repertoire que ton projet ? (je ne connais pas dev-cpp ... et d'ailleurs, ici c'est le forum VC++)

  15. #15
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 227
    Par défaut
    J'avais jamais fait attention, je savait pas qu'il y avait une catégorie pour les autres compilateurs... dsl
    Sinon oui la lib est dans le même rep. que mon projet, (j'ai essayé de la mettre dans un autre dossier mais rien y fait)
    Ca doit venir de la lib parce que quant je met celle de la faq (j'ai tel le zip) ça marche, mais bon il faut que j'en fasse une autre parce la lib de cette faq ne répond pas a mes attentes...

    Si j'ai pas de réponse je posterai mon message sur la categorie pour les autres compilos. Encore dsl pour ce dérangement...

  16. #16
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    as-tu exporté les fonctions de ta dll ? (comme dans le .def de l'exemple)

  17. #17
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 227
    Par défaut
    Non j'ai rien fait de particulier, j'ai juste compilé, il y a un .def qui est créer lors de la compilation mais je n'y ai pas touché.

    Y'aurait t'il une ligne a rajouter dans ce fichier ?

  18. #18
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    je repete que je ne connais pas dev-cpp, donc, je ne sais pas si ca fonctionne de meme.
    Par contre, sous visual c++, il est très facile de dire quelles fonctions sont exportées avec le fichier .def, qui ressemble grosso modo à ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    LIBRARY	malibrairie
    EXPORTS
      mafonctionaexporter1    @1
      mafonctionaexporter2    @2

  19. #19
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 227
    Par défaut
    Ok, je vais essayer avec un autre compilo,
    j'ai telecharger le compilateur Visual C++ en ligne de commande (le gratuit) mais je sais pas quelle ligne il faut taper, si quelqu'un connait ce compilateur...

  20. #20
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 3 123 DernièreDernière

Discussions similaires

  1. Outlook et perte du focus sur une fenêtre
    Par Abac_Angelique dans le forum API, COM et SDKs
    Réponses: 0
    Dernier message: 16/07/2013, 18h28
  2. Perte de focus sur une fenêtre modale
    Par yonpo dans le forum Windows Presentation Foundation
    Réponses: 4
    Dernier message: 07/01/2011, 14h32
  3. Image sur une fenêtre créer avec l'API
    Par Mirsa dans le forum Visual C++
    Réponses: 3
    Dernier message: 05/12/2006, 09h08
  4. Réponses: 8
    Dernier message: 29/08/2006, 10h22
  5. [PowerBuilder] Récupérer la main sur une fenêtre modale
    Par jpdar dans le forum Powerbuilder
    Réponses: 3
    Dernier message: 12/06/2006, 14h21

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