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 :

[MFC] DLL - récupérer le Handle de l'appli principale


Sujet :

MFC

Vue hybride

drinkmilk [MFC] DLL - récupérer le... 19/05/2006, 15h24
nico-pyright(c) tu peux passer à ta dll le... 19/05/2006, 15h27
farscape c'est ce que je t'ai suggéré... 19/05/2006, 15h30
nico-pyright(c) ah bon ? y a multi post ?... 19/05/2006, 15h33
drinkmilk Mais c'est exactement ce que... 19/05/2006, 15h43
nico-pyright(c) comme tu le disais, tu as une... 19/05/2006, 15h44
farscape la question qu'elle le type... 19/05/2006, 15h48
nico-pyright(c) avec VB aussi c'est facile... 19/05/2006, 15h52
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Juin 2003
    Messages
    270
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 270
    Par défaut [MFC] DLL - récupérer le Handle de l'appli principale
    Bonjour,

    Je développe une DLL qui est utilisée par une application.

    Est-il possible de récupérer dans le code de ma DLL le Handle de l'application principale ? Il y a la variable m_hWnd, membre de la classe CWnd, mais je ne sais pas comment l'utiliser.

    De plus, ma DLL fait apparaître une boîte de dialogue. Est-ce que les Handle concernent également les boîtes de dialogue ou seulement les fenêtres ? Comment récupérer le Handle de ma boîte de dialogue ?

    Merci

  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
    tu peux passer à ta dll le handle de ta fenetre principale, c'est la meilleur facon pour connaitre le handle.

    Pour récuperer le handle d'une boite de dialogue crée dans une dll, c'est le meme principe que dans le contexte d'un executable

  3. #3
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    Citation Envoyé par nico-pyright(c)
    tu peux passer à ta dll le handle de ta fenetre principale, c'est la meilleur facon pour connaitre le handle.

    Pour récuperer le handle d'une boite de dialogue crée dans une dll, c'est le meme principe que dans le contexte d'un executable
    c'est ce que je t'ai suggéré dans ton autre post ....

  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
    ah bon ? y a multi post ? alors ...

  5. #5
    Membre éclairé
    Inscrit en
    Juin 2003
    Messages
    270
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 270
    Par défaut
    Citation Envoyé par nico-pyright(c)
    tu peux passer à ta dll le handle de ta fenetre principale, c'est la meilleur facon pour connaitre le handle.
    Mais c'est exactement ce que je veux faire ! Et comme je ne sais pas comment faire, et que c'est une autre question, j'ai ouvert une nouvelle discussion. Ce n'est pas un multi-post !

    Comment récupérer le Handle de la fenêtre principale ?

    Grâce à ça, je pourrai essayer la solution de Farscape à mon autre question.

    Merci !

  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
    comme tu le disais, tu as une variable m_hWnd dans ton appli principale. Tu la fais passer à ta dll, je veux dire par là que tu crées une méthode dans ta dll (genre, un SetHwnd(m_hWnd)), ce qui te permet de la connaitre dans la dll

  7. #7
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    la question qu'elle le type d'application qui fait l'appel de la dll ?
    du vb ? du vc ?
    vc c'est très simple AfxGetMainWnd()->GetSafeHwnd().


  8. #8
    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
    avec VB aussi c'est facile ... mais chuuuut ... c'est un secret

  9. #9
    Membre éclairé
    Inscrit en
    Juin 2003
    Messages
    270
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 270
    Par défaut
    Citation Envoyé par farscape
    la question qu'elle le type d'application qui fait l'appel de la dll ?
    du vb ? du vc ?
    vc c'est très simple AfxGetMainWnd()->GetSafeHwnd().
    Merci, c'est très certainement ce qu'il me faut. Dommage que ce soit un secret en VB, car ça me serait également utile.

    Architecture: J'utilise une API qui me permet d'ajouter des fonctionnalités dans une application (un exe dont je n'ai pas le code source). J'ai fait une DLL VB qui est chargée par l'application. J'ai fait une autre DLL en C++ (MFC) dans laquelle il y a mes boîtes de dialogue. La DLL VB appelle des fonctions de la DLL C++ qui affichent des boîtes de dialogue.

    Question: Quand je fais AfxGetMainWnd()->GetSafeHwnd(), est-ce que je reçois le Handle sur la boîte modale C++, ou sur la fenêtre principale ?

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

Discussions similaires

  1. Récupérer le chemin d'une dll par son handle
    Par Pierre Castelain dans le forum Codes sources à télécharger
    Réponses: 0
    Dernier message: 23/02/2013, 10h48
  2. Réponses: 1
    Dernier message: 19/12/2010, 01h32
  3. Récupérer le handle d'une DLL
    Par bubulemaster dans le forum Débuter
    Réponses: 1
    Dernier message: 03/11/2007, 00h30
  4. Réponses: 3
    Dernier message: 26/07/2007, 18h28
  5. Récupérer le Handle d'une Appli externe
    Par luxprog dans le forum Windows
    Réponses: 15
    Dernier message: 29/04/2004, 13h47

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