C++ afxMessageBox打开时未调用mfc事件
我有一个MFC活动。 我宣布如下: const UINT WM_SECEVENT=注册表窗口消息事件; 我通过以下方式提出这一事件: ::PostThreadMessageAdwCurThreadId,WM_SECEVENT,WPARAMpMsgParam,0; 在我的MessageMap中,我写道: ON_REGISTERED_THREAD_MESSAGEWM_SECEVENT,ON ReadSecEvent 一切正常,当引发WM_SECEVENT时,OnThreadSecEvent开始运行。 问题是,我还有一个是/否的afxMessageBox。当afxMessageBox运行时,我的程序不会捕获事件,并且不会调用OnThreadSecEvent。 我怎样才能解决这个问题C++ afxMessageBox打开时未调用mfc事件,c++,mfc,C++,Mfc,我有一个MFC活动。 我宣布如下: const UINT WM_SECEVENT=注册表窗口消息事件; 我通过以下方式提出这一事件: ::PostThreadMessageAdwCurThreadId,WM_SECEVENT,WPARAMpMsgParam,0; 在我的MessageMap中,我写道: ON_REGISTERED_THREAD_MESSAGEWM_SECEVENT,ON ReadSecEvent 一切正常,当引发WM_SECEVENT时,OnThreadSecEvent开始运行。
谢谢发布到线程中的窗口而不是线程消息队列本身是否适用于您的目的 与其使用PostThreadMessage将消息发布到UI线程,不如使用PostMessage将消息发布到该线程拥有的窗口。由于定向到窗口的消息可以由辅助消息循环进行调度,因此即使线程没有在其主消息循环中运行,消息仍会得到正确处理