Domanda

sto porting di un'applicazione MFC per Win32 uno, ho bisogno di ottenere

AfxGetThreadState()->m_lastSentMsg

valore in Win32.

È stato utile?

Soluzione

Bene tutto MFC sta facendo quello che sta registrando l'ultimo messaggio ricevuto era in una classe. Sono sicuro che si potrebbe aggiungere qualcosa di simile al messaggio filo pompe ...

Edit: Anche la sua pena di guardare __declspec (thread) per definire una "globale" nella memoria locale thread. Questo è ciò che fa MFC ...

Modifica: Avrai una pompa messaggio. Se prima dichiara una simile variabile al seguente:

__declspec( thread ) MSG g_LastMsg = 0;

E poi avete bisogno di cambiare la pompa messaggio in ogni thread a qualcosa di simile:

MSG msg;
while( GetMessage( &msg, NULL, 0, 0 ) )
{
            g_LastMsg = msg;
    TranslateMessage( &msg );
    DispatchMessage( &msg );
}

Ora ogni volta che si desidera vedere ciò che l'ultimo messaggio "pompato" è stata basta controllare la variabile g_LastMsg ...

Si potrebbe anche costruire il messaggio struct da dentro le proprie procedure di finestra, se si preferisce. Interamente a voi ...

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top