2010-11-02 7 views
0

Je programme un très gros logiciel. Il a beaucoup de projets à l'intérieur.MFC PostMessage du projet principal au thread de l'interface utilisateur

Un de mes projets est un thread d'interface utilisateur. Je souhaite publier des messages sur ce fil d'interface utilisateur, à partir du projet principal.

Lorsque j'utilise PostThreadMessage (après avoir obtenu le fil par GetCurrentThreadId()), tout fonctionne très bien, à l'exception des moments où un MessageBox est ouvert ...

Je veux envoyer des messages à partir du projet principal par PostMessage . Comment puis-je envoyer des messages de cette manière? Comment savoir dans quelle fenêtre envoyer le message?

Merci

Répondre

1

Si elle est un thread d'interface utilisateur, vous devez avoir une fenêtre principale créée dans ce thread. Juste poster un message à cette fenêtre. C'est tout.

EDIT 1: Si c'est un autre processus, vous pouvez probablement créer une fenêtre cachée avec un titre unique avec des caractères spéciaux et des traits de soulignement et utiliser FindWindow API pour trouver cette fenêtre ou utiliser EnumWindows .

+0

Merci. Mais comment obtenir le pointeur hwnd de la fenêtre principale du thread UI, à partir d'un autre projet? – Erez

+0

Mis à jour ma réponse ci-dessus (EDIT 1) –

Questions connexes