Reception multiple dans PeeKMessage [Résolu]

Signaler
Messages postés
101
Date d'inscription
dimanche 1 avril 2001
Statut
Membre
Dernière intervention
18 février 2008
-
Messages postés
101
Date d'inscription
dimanche 1 avril 2001
Statut
Membre
Dernière intervention
18 février 2008
-
Bonjour
Voici mon probleme:
J'envoie un message à un Thread que je viens de créé (pas de probleme)


Ptr_Thread=CreateThread(NULL,NULL,Thread_DownLoad,(LPVOID)Idx,NULL,&dwThreadID);

// -----Attendre un peu avant envoyer des Msg aux threads
Sleep(1000);


if (Ptr_Thread!=NULL){
// ----- Envoyer Message Debut de download auto
PostThreadMessage(dwThreadID,WM_START_DOWNLOAD_AUTO,NULL,NULL);
}

// Mon Thread a une boucle pour recevoir et traiter les messages

do
{ RC=0;

RC=DownLoad_Image(ImageEco[Ptr_LstCam[IndexCam]],&Ptr_LocalBitMap);

// ----- Liste des messages
if (PeekMessage(&Msg,NULL,0,0,0)==TRUE)
{
switch(Msg.message )
{
case WM_TERMINER_THREAD:

return TRUE;

case WM_STOP_DOWNLOAD_AUTO:
Stop=
true;

break;

case WM_START_DOWNLOAD_AUTO:
Stop=
false;

break;

case WM_DOWNLOAD_ONESHOT:
OneShot=
true;

break;

default :
TranslateMessage(&Msg);
DispatchMessage(&Msg);

break;
}
}
......

}
while(
true);

Or je n'arrete pas de recevoir le message WM_START_DOWNLOAD_AUTO alors que je ne l'ai envoyé qu'une fois.

Si j'envoie un autre message je ne le recoie pas.
Pourquoi ?
Merci
Sephiro
A voir également:

2 réponses

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
PM_REMOVE en dernier param ET en spécifiant bien une plage de messages persos sinon tu enlèverais aussi les messages de fenêtre et autres messages système.

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
Messages postés
101
Date d'inscription
dimanche 1 avril 2001
Statut
Membre
Dernière intervention
18 février 2008

Merci BruNews
En ecrivant ma question je savais que tu y répondrais. J'utilise beaucoup tes réponses sur d'autres questions et tes exemples de code.
Merci pour ton support
Sephiro