MessageBox阻止程序进行

while (nSize > 1)
{
    lRet = m_keyCtrl.CheckSZCAKey(&nSize);
//  SetTimer(2, 1000, NULL);    
    CWnd::MessageBox(_T("123")); 

// AfxMessageBox(_T("123"));
// MessageBox(_T("123"));
// MessageBox(_T("检测到多个深圳CA的USBKEY, \n 为避免意外, 建议您拔掉多余的USBKEY, 重新开始升级."), _T("询问"), MB_ICONQUESTION);

}
第二次进入循环体内执行到 Messagebox的时候程序就停滞了,怎样处理,一定要自绘messagebox吗?

MessageBox会阻塞消息循环,不然你就使用 非模态对话框

MessageBox消息对话框就是用于弹出需要用户立即处理的消息,以便与用户进行实时交互而使用的,所以采用了模态对话框,需要中断程序运行。如果不需要用户立即处理(不需要中断程序执行),可采用日志的方式记录消息,事后用户可通过查看日志来了解程序的执行情况。

MessageBox消息对话框需要点击取消或者确认的