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

C++ Discussion :

Probleme avec une MessageBox dans une DLL


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de marcootz
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 159
    Par défaut Probleme avec une MessageBox dans une DLL
    Salut,

    J'ai un petit souci avec dll que j'ai crée et qui est appelé par un programme externe. Le traitement de ma dll est bien effectué, et à la fin j'affiche une MessageBox pour avertir l'utilisateur.

    Mon souci est que cette MessageBox n'apparait pas au premier plan. Voici ce que j'ai essayé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    MessageBox(0, "bla bla", "caption", MB_TOPMOST);
     
    ou
     
    MessageBox(GetFocus(), "bla bla", "caption", MB_OK);
    Quelqu'un sait comment la faire apparaitre en premier plan ?

    Merci

  2. #2
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    187
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 187
    Par défaut
    avec ceci ,ca devrait marcher.....

    MessageBox (NULL, "blabla", "blabla", MB_ICONINFORMATION);

  3. #3
    Membre confirmé Avatar de marcootz
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 159
    Par défaut
    Salut bouzaidi,

    Merci pour ta réponse, j'ai essayé mais la messageBox est toujours derrière la fenetre du programme qui appelle la DLL.
    Y a t'il autre chose ?

  4. #4
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    187
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 187
    Par défaut
    c un peu izzard paceque chez moi ca marhce!!est ce que la fenetre apparait dans ton ecran ou pas?sinn peut tu montrer le bout de code que tu utilise....

  5. #5
    Membre confirmé Avatar de marcootz
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 159
    Par défaut
    la fenetre apparait bien dans mon écran et dans la barre des tâches mais elle est derrière la fenetre du programme appelant.

    Voici mon le code de ma dll:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    #include <windows.h>
    #include <tchar.h>
    #include <vcl.h>
    #include <stdlib.h>
    #include <QDialogs.hpp>
     
    extern "C" __declspec(dllexport) __stdcall long verif(HWND hwnd, LPSTR szSrcDir, LPSTR szSupport, LPSTR szSerialNum, LPSTR szDbase);
     
    #pragma argsused
    int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)
    {
            return 1;
    }
    //---------------------------------------------------------------------------
    long __stdcall verif(HWND hwnd, LPSTR szSrcDir, LPSTR szSupport, LPSTR szSerialNum, LPSTR szDbase)
    {
    AnsiString pass, champ1, champ2, champ3;
     
        char string[12];
        strcpy(string, szSerialNum);
        pass = AnsiString(string);
     
        champ1 = pass.SubString(1, 3);
        champ2 = pass.SubString(5, 3);
        champ3 = pass.SubString(9, 3);
     
    if(champ2==machin && champ3==machin){
            MessageBox(NULL, "bla bla", "bla", MB_ICONINFORMATION);
            return 1;
        }else{
            MessageBox(NULL, "bla bla", "bla", MB_ICONINFORMATION);
            return 0;
        }
    }
    //---------------------------------------------------------------------------

  6. #6
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    187
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 187
    Par défaut
    je crois que ta fenetre principale n'est pas modale,qlqpart dans ta configuration,tu dois changer l'option "System Modal" en "true" pour que tu puisse voir les windows s'afficher...

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

Discussions similaires

  1. [MySQL] probleme avec le retour d'une selection dans une base de donnees
    Par sovo dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 10/02/2010, 18h00
  2. portée d'une variable dans une fonction dans une méthode
    Par laurentg2003 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/06/2009, 19h05
  3. [POO] dans une classe, appeler une fonction dans une méthode
    Par arnaudperfect dans le forum Langage
    Réponses: 3
    Dernier message: 26/08/2007, 23h04
  4. Envoyer une formulaire dans une page dans une Frame
    Par zooffy dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 29/06/2007, 10h13
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

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