Je suis une application MFC PORTAGE pour Win32 un, je dois obtenirNo-MFC équivalent de AfxGetThreadState dans vC++
AfxGetThreadState()->m_lastSentMsg
dans Win32.
Je suis une application MFC PORTAGE pour Win32 un, je dois obtenirNo-MFC équivalent de AfxGetThreadState dans vC++
AfxGetThreadState()->m_lastSentMsg
dans Win32.
Tout ce que fait MFC est d'enregistrer le dernier message qu'il a reçu dans une classe. Je suis sûr que vous pourriez ajouter quelque chose comme ceci à vos pompes de message de fil ...
Editer: Aussi son intérêt à regarder __declspec (thread) pour définir un "global" dans le stockage local de thread. C'est ce que fait MFC ...
Editer: Vous aurez une pompe à message. Si vous déclarez d'abord une variable similaire à ce qui suit:
__declspec(thread) MSG g_LastMsg = 0;
Et vous devez changer votre pompe de messages dans chaque thread à quelque chose comme ceci:
MSG msg;
while(GetMessage(&msg, NULL, 0, 0))
{
g_LastMsg = msg;
TranslateMessage(&msg);
DispatchMessage(&msg);
}
Maintenant, chaque fois que vous voulez voir ce que le dernier message "pompé" était juste vérifier la variable g_LastMsg ...
Vous pouvez également construire la structure du message à l'intérieur de vos procédures de fenêtre si vous préférez. Entièrement à vous ...
Eh bien, en fait, je ne suis pas si pro sur MFC alors où dois-je enregistrer le dernier message? – whoi
@qui vous n'avez pas besoin d'être un pro MFC pour ** pas ** utiliser MFC. Enregistrez-le où vous voulez! – Ben
@Ben: Si vous jetez un oeil à quand il a posté et quand j'ai édité peut-être la question a plus de sens. – Goz