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 :

Impl�menter la r�cuperation de message windows


Sujet :

MFC

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre �clair�
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    646
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 646
    Par d�faut Impl�menter la r�cuperation de message Windows
    Bonjour,

    Je voudrai detecter le plug/deplug d'une cle USB.
    Pour cela, il suffit apparament de recuperer le message windows WM_DEVICECHANGE, mais j'arrive pas a implementer le truc pour recuperer ce message.

    Dans la MSDN j'ai trouver ceci:
    The WM_DEVICECHANGE device message notifies an application of a change to the hardware configuration of a device or the computer.

    Et ces fonctions:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    afx_msg BOOL OnDeviceChange(UINT nEventType, DWORD_PTR dwData);
     
    LRESULT CALLBACK WindowProc(
      HWND hwnd,       // handle to window
      UINT uMsg,       // message identifier
      WPARAM wParam,   // device-change event
      LPARAM lParam    // event-specific data
    );
    Seulement j'y comprend rien. Ma classe est une CFormView.
    Je pensai juste que je devais surcharger ces fonctions dans ma classe mais je ne rentre jamais dans ces fonctions(je test en mettant et retirant une cle usb, pas tester avec le DD).

    J'ai pas compris la doc ou bien?

    Merci
    [Edit:05/03/07] Juste pour etre un peu plus clair

  2. #2
    Membre confirm�
    Profil pro
    Inscrit en
    F�vrier 2006
    Messages
    60
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 60
    Par d�faut
    As tu essayer d'intercepter WM_DEVICECHANGE � l'aide de ClassWizard ?
    Ca devrait g�n�rer automatiquement la fonction OnDeviceChange() ... je crois

  3. #3
    Membre �clair�
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    646
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 646
    Par d�faut
    Salut,

    Oui mais comment faire? je suis sous Visual 2005 et il n'y a pas de class Wizard, c'est pour ca que j'ai essayer de le faire a la main mais ca marche pas:

    J'ai ajoute cette fonction:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
     
    // .h
    afx_msg BOOL OnDeviceChange(UINT nEventType, DWORD_PTR dwData);
    // .cpp
    BOOL OnDeviceChange(UINT nEventType, DWORD_PTR dwData)
    {
    return TRUE;
    }
    Ca compile, mais je ne passe jamais dans cette fonction.

    Si j'ajoute ceci dans la declaration des messages:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    ON_MESSAGE(WM_DEVICECHANGE, &CMainView::OnDeviveChange)
    Ca ne compile pas, voici l'erreur:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    error C2440: 'static_cast' : cannot convert from 'BOOL (__thiscall CMainView::* )(UINT,DWORD_PTR)' to 'LRESULT (__thiscall CWnd::* )(WPARAM,LPARAM)'
            Cast from base to derived requires dynamic_cast or static_cast
    Comment on ajoute de nouveau message?

  4. #4
    Membre �clair�
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    646
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 646
    Par d�faut
    Juste un petit up, car je suis toujours bloquer.

    Concernant les messages, je pense que je fais bien ce qu'il faut mais je comprend pas pourquoi j'arrive pas recuperer le message.

    Comment fais-t-on pour savoir si le message est bien envoyer par windows?
    Ou alors j'essaie de recuperer le mauvais message mais bon dans la msdn il y a bien:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    MFC Library Reference  
    CWnd::OnDeviceChange
    The framework calls this member function to notify an application or device driver of a change to the hardware configuration of a device or the computer.
    Toute indice serait le bienvenu(meme simple ou evident)
    Merci

  5. #5
    Membre �clair�
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    303
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 303
    Par d�faut
    Pour visualiser les messages j'utilise Spy++ pr�sent dans les tools de Visual Studio

  6. #6
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

Discussions similaires

  1. Intercepter un Message Windows ? Cr�er un Composant Grille !
    Par TOTO32 dans le forum Composants VCL
    R�ponses: 6
    Dernier message: 21/07/2004, 13h41
  2. R�ponses: 2
    Dernier message: 06/04/2004, 08h39
  3. Interception Messages Windows
    Par tiramisu dans le forum MFC
    R�ponses: 5
    Dernier message: 24/02/2004, 14h01
  4. R�ponses: 13
    Dernier message: 14/01/2004, 16h35
  5. Gestion des message windows dans les threads
    Par billyboy dans le forum Windows
    R�ponses: 5
    Dernier message: 06/10/2003, 17h25

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