Message

cs_ToToL Messages postés 170 Date d'inscription vendredi 25 avril 2003 Statut Membre Dernière intervention 9 juillet 2008 - 10 nov. 2004 à 15:36
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 10 nov. 2004 à 21:40
Salut

Je travaille en Win32

J'ai un thread qui boucle et qui toute les 10 seconde balance un message dans la liste de ceux de windows. sauf que quand j'arrete le theard windows met du temps ( 1 demi sec environ ) a vider tout les message que j'ai envoyer.

Je cherche tout simplement une fonction permettant de vider tout les message ayant le meme numero dans la list des message d'une fenetre windows.

Merci
Thomas

7 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
10 nov. 2004 à 16:30
Regarde PeekMessage() dans MSDN.

ciao...
BruNews, MVP VC++
0
cs_ToToL Messages postés 170 Date d'inscription vendredi 25 avril 2003 Statut Membre Dernière intervention 9 juillet 2008
10 nov. 2004 à 16:58
J'ai du mal a comprendre la msdn sur ce sujet.

aparament il faut une variable MSG globale et il faut que ce soit celle utiliser par ma boucle GetMessage().

puis le fenetre recevant ce message , je ne voit pas en quoi cela est utile dans je mettrai NULL

pour le message du debut et de fin, la je n'arrive pas a savoir car je ne veut supprimer qu'un seul numero de message

pour le dernier paramettre je supose que c'est PM_REMOVE dans mon cas.

PeekMessage(&msg,NULL,WM_TOUCHESANSEVENT,WM_TOUCHESANSEVENT,PM_REMOVE)

ainsi j'ai écrit cela mais aparament sa ne marche pas. j'aimerai aussi que tu me dise exactement ce que cette focntion retourne.

Au cas ou je n'est pas été compri voila ce que je veut avoir:

je veut au debut ( exemple) evoir ces messages :

WM_KEYDOWN
WM_KEYDOWN
WM_TOUCHESANSEVENT
WM_TOUCHESANSEVENT
WM_KEYDOWN
WM_TOUCHESANSEVENT
WM_TOUCHESANSEVENT
WM_TOUCHESANSEVENT
WM_QUIT

a cela :

WM_KEYDOWN
WM_KEYDOWN
WM_KEYDOWN
WM_QUIT

Merci
Thomas
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
10 nov. 2004 à 17:07
Pourquoi une MSG globale ??? interne a ton thread ira tres bien.

et plutot que d'avoir a depiler, verifie avant d'empiler avec un PM_NOREMOVE que le message n'y est pas deja. Ne te conviendrait pas ?

ciao...
BruNews, MVP VC++
0
cs_ToToL Messages postés 170 Date d'inscription vendredi 25 avril 2003 Statut Membre Dernière intervention 9 juillet 2008
10 nov. 2004 à 18:42
je doit utiliser une globale car le peekmessage est dans un autre thread que ma boucle principale.

Oui ta technique est mieu de vérifier puis mettre le message s'il n'est pas présent.

mais par exemple mon code ressemble a cela :

#define WM_TOUCHESANSEVENT 10000
MSG msg;

................

if ( PeekMessage(&msg,NULL,WM_TOUCHESANSEVENT,WM_TOUCHESANSEVENT,PM_NOREMOVE) )
{SendMessage(Fenetre, WM_TOUCHESANSEVENT, 0,0); }

Est ce que tout ce que j'ai écrit est bon car c'est assé dur de voir si ca marche vraiment contenu que j'ai un assé vieu pc.

Merci
Thomas
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
10 nov. 2004 à 19:45
Mets un PostMessage si PeekMessage return 0 et non le contraire.

ciao...
BruNews, MVP VC++
0
cs_ToToL Messages postés 170 Date d'inscription vendredi 25 avril 2003 Statut Membre Dernière intervention 9 juillet 2008
10 nov. 2004 à 20:14
postmessage c'est mieu que sendmessage ??

j'ai juste oublier le ! mais sionon mon peekmessage est bon ?

Merci
Thomas
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
10 nov. 2004 à 21:40
PostMessage est async donc depose le message sur la pile et retourne illico au contraire de SendMessage qui attend le traitement. Je prefere souvent PostMessage pour eviter les blocages mais il n'y a que toi pour savoir comment doit se derouler ton prog.

ciao...
BruNews, MVP VC++
0
Rejoignez-nous