我正在将一个MFC应用程序移植到Win32,我需要得到
AfxGetThreadState()->m_lastSentMsg
值。
答案 0 :(得分:2)
所有MFC正在做的是记录它收到的最后一条消息是在课堂上。我相信你可以在你的线程消息泵中添加这样的东西......
编辑:还有值得看__declspec(线程)来定义线程本地存储中的“全局”。这就是MFC所做的......
编辑:你将有一个消息泵。如果您首先声明一个类似于以下的变量:
__declspec( thread ) MSG g_LastMsg = 0;
然后你需要将每个帖子中的消息泵更改为:
MSG msg;
while( GetMessage( &msg, NULL, 0, 0 ) )
{
g_LastMsg = msg;
TranslateMessage( &msg );
DispatchMessage( &msg );
}
现在,只要你想查看“抽水”的最后一条消息,只需检查g_LastMsg变量......
如果您愿意,也可以在Window过程中构建消息结构。完全取决于你...