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

Threads & Processus C++ Discussion :

PeekMessage & multithreading


Sujet :

Threads & Processus C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Janvier 2005
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 7
    Par défaut PeekMessage & multithreading
    Salut, je vais essayer de décrire autant que possible mon soucis.

    J'ai mis en place un framework de thread basé sur l'api win32 (CreateThread...), et synchronisation avec des sections critiques.
    Et également un framework GUI toujours sur l'api win32, pompe à message, et WindowProc.

    Cela fonctionne parfaitement ^^, exécution de plusieurs threads qui chacun crée plusieurs fenêtres windows, ca tourne pas de soucis, windows gère bien les messages, je pense avoir fait ce qu'il fallait.

    Je travaille généralement sur mon pc de bureau, avec XP et un visual un peu vieillot. Mais j'ai juste changé de pc en fait, j'ai voulu travaillé un peu sur mon portable (même insall de XP, chuuuut) et visual 2008 express (j'ai essayé également avec visual 2010)

    Et là, ca ne fonctionne plus
    Pour avoir chercher à comprendre, c'est PeekMessage qui retourne toujours FALSE !
    J'irais pas expliquer pourquoi j'utilise un méthode non bloquante pour observer la message queue, c'est pas le sujet.
    J'aimerais juste comprendre pourquoi d'un ordi à l'autre, cela ne fonctionne pas :/ et bien sur comment résoudre mon soucis

    Si vous avez des pistes, jsuis preneur...
    Ou des questions, n'hésitez pas...
    bye

  2. #2
    Nouveau membre du Club
    Inscrit en
    Janvier 2005
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 7
    Par défaut
    Juste une précision.

    Si je n'utilise pas de Thread et que j'enregistre dans ma boucle principale, la gestion de la pompe à messages, ca marche parfaitement !

    Bon j'y perds forcément tout l'intérêt que je cherche, mais c'est pour cela que je pense accuser le multithreading !

  3. #3
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Salut,
    Réponse dans le MSDN :
    Dispatches incoming sent messages, checks the thread message queue for a posted message, and retrieves the message (if any exist).
    Syntax
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    BOOL WINAPI PeekMessage(
      __out     LPMSG lpMsg,
      __in_opt  HWND hWnd,
      __in      UINT wMsgFilterMin,
      __in      UINT wMsgFilterMax,
      __in      UINT wRemoveMsg
    );
    Parameters

    lpMsg [out]
    LPMSG

    A pointer to an MSG structure that receives message information.
    hWnd [in, optional]
    HWND

    A handle to the window whose messages are to be retrieved. The window must belong to the current thread.

Discussions similaires

  1. PeekMessage & Multithreading
    Par d4mi3nvil dans le forum Windows
    Réponses: 5
    Dernier message: 25/08/2010, 18h19
  2. [WinAPI C++] MultiThreading?
    Par Gruik dans le forum Windows
    Réponses: 2
    Dernier message: 25/03/2004, 00h08
  3. [Win32]App multithread
    Par billyboy dans le forum Windows
    Réponses: 5
    Dernier message: 25/09/2003, 09h57
  4. Multithreading sous HP Ux 11
    Par pykoon dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 18/10/2002, 23h36

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