Bonjour,
Je cherche à faire un thread qui effectuerai un boucle pour regardé et traiter les messages pendant que mon programme principale se déroule. Je n'arrive pas pas à interrompre mon traitement principal (je fais un boucle infini et je regarde les messages pour savoir si je clique sur un bouton). J'arrive à le faire sans le thread mais pas avec un thread.
Fonction du thread :
Appel du thread dans ma boucle infini :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 static void * Interrupt(void * p_data) { MSG msg; int Message; while(1) { Message=PeekMessage(&msg, Dlg, 0, 0,PM_REMOVE); if(Message==-1) { MessageBox(Dlg,"Erreur d'acquistion","Erreur",NULL); return (void*)-1;} else { TranslateMessage(&msg); DispatchMessage(&msg); if(msg.message==WM_COMMAND) return(void *)1; else return(void *)0; }} }
Voila j'espère que vous pourrez m'aider car il faut absolument que je passe par les threads car la boucle de message ralenti mon programme principal et je doit traiter des données très rapidement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 while(escape==0) { retour=pthread_create(&thread,NULL,Interrupt,NULL); if(totalRead_tmp>=10240000) . . . pthread_join (thread, NULL); if(retour==1) escape=1;
Merci par avance
Partager