Savoir si l'exécution du thread est terminée

Résolu
ndubien Messages postés 557 Date d'inscription dimanche 25 septembre 2005 Statut Membre Dernière intervention 10 mai 2014 - 29 mars 2009 à 11:17
ndubien Messages postés 557 Date d'inscription dimanche 25 septembre 2005 Statut Membre Dernière intervention 10 mai 2014 - 1 avril 2009 à 18:14
Bonjour,

Comment savoir si l'exécution de mon thread est terminée (=la fonction à terminée son exécution) :

HANDLE hCrypter = CreateThread( NULL, 0, Crypter, 0, 0, NULL );

Merci d'avance et à bientôt !

4 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
29 mars 2009 à 19:49
#define WM_ENDTHRD  (WM_USER+1)


DWORD WINAPI ThreadProc(LPVOID pparam)
{
  // ...
  // ...
thrdExit:
  PostMessage((HWND) pparam, WM_ENDTHRD, 0, (LPARAM) pdwd);
  return 0;
}


hthrd = CreateThread(0, 0, ThreadProc, (LPVOID) hdlg, 0, 0);

ciao...
BruNews, MVP VC++
3
racpp Messages postés 1909 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 17
30 mars 2009 à 20:24
Salut,
Il est également possible d'utiliser WaitForSingleObject() pour connaitre l'état d'un thread.
Une remarque pour BruNews. Je pense qu'il est péférable d'utiliser WM_APP au lieu de WM_USER pour définir les messages personnalisés. En effet, WM_USER est réservé à l'usage interne des controles personnalisés. D'ailleurs tous les common controls de Windows utilisent les messages du type WM_USER+N. Pour éviter tout risque de conflit pouvant provoquer des anomalies, on définit des messages de type WM_APP+N qui sont spécifiques à l'application.
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
30 mars 2009 à 23:31
Exact, la rigueur ne nuit pas.

ciao...
BruNews, MVP VC++
0
ndubien Messages postés 557 Date d'inscription dimanche 25 septembre 2005 Statut Membre Dernière intervention 10 mai 2014 4
1 avril 2009 à 18:14
Et bien merci pour vos réponses !
0
Rejoignez-nous