2010-08-12 4 views
1

Dans PostThreadMessage mon ID de thread est correct, mais j'obtiens l'erreur 1444 ("identificateur de thread invalide.").PostThreadMessage définit GetLastError sur 1444

Quelqu'un sait-il comment le réparer?

+4

Comment savez-vous que votre ID de thread est correct? Parce que apparemment ce n'est pas le cas. – GManNickG

+2

0% d'acceptation sur les réponses stimule ma motivation à aider. NE PAS. Veuillez accepter quelques réponses aux questions précédentes et peut-être que quelqu'un vous donnera un coup de main! –

+0

@GManNickG Euh, parce qu'il a été donné par windows EnumProcess et correspond à l'id donné par les gestionnaires de tâches ... Voilà comment, apparemment, au moins dans mon cas, il correspond et j'obtiens toujours cette erreur. Donc, Apparemment, vous avez tort d'insinuer que la seule façon d'obtenir l'erreur est si l'identifiant est invalide. – AbstractDissonance

Répondre

3

Le système d'exploitation est l'autorité pour savoir si les ID de threads sont valides, donc s'il vous dit que votre ID est invalide, alors votre ID est probablement invalide. Vous devez faire confiance aux codes d'erreur jusqu'à ce que vous puissiez prouver qu'ils ont tort, sinon il est inutile de les vérifier du tout. Avant de blâmer le système d'exploitation, assurez-vous que vous avez exclu toutes les autres possibilités. Voici quelques exemples:

  • Peut-être que vous avez utilisé le fil poignée à la place.
  • Peut-être que le thread est déjà en cours d'exécution.
  • Peut-être que le fil n'a pas été créé avec succès en premier lieu. Assurez-vous de vérifier la valeur de retour de CreateThread.
  • Peut-être que le thread appartient à un processus s'exécutant sur un bureau différent.
  • Peut-être que le thread n'a pas de file d'attente de messages. Un thread peut créer une file d'attente de messages pour lui-même en appelant GetMessage ou PeekMessage, par exemple.
+0

Ya j'ai utilisé getmessage maintenant ..... son fonctionnement maintenant – SPB

+0

En passant, j'ai eu ces deux dernières raisons d'échec en lisant la [documentation de 'PostThreadMessage'] (http://msdn.microsoft.com/en- us/library/ms644946.aspx); il mentionne 'ERROR_INVALID_THREAD_ID' partout. –

Questions connexes