Reception multiple dans PeeKMessage

Résolu
cs_sephiro Messages postés 101 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 18 février 2008 - 1 déc. 2005 à 20:44
cs_sephiro Messages postés 101 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 18 février 2008 - 2 déc. 2005 à 08:09
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

2 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
1 déc. 2005 à 21:49
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++
3
cs_sephiro Messages postés 101 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 18 février 2008
2 déc. 2005 à 08:09
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
0
Rejoignez-nous