No-MFC相当于vc ++中的AfxGetThreadState

时间:2009-12-09 09:48:36

标签: winapi visual-c++ msg

我正在将一个MFC应用程序移植到Win32,我需要得到

AfxGetThreadState()->m_lastSentMsg

Win32中的

值。

1 个答案:

答案 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过程中构建消息结构。完全取决于你...