Использование MessageBox в потоке
От: Alexche  
Дата: 22.10.01 01:22
Оценка:
Запускаю поток, в котором есть такие строки:
if (!CreateProcess( NULL, cmdline, NULL, NULL, TRUE,
    0, NULL,NULL,&si,&pi ))
{
    DWORD dwErrNo=GetLastError();
    if (dwErrNo==2)
        MessageBox(NULL,"File not found",NULL,MB_OK);
}
else { ... }
return 0


Жду завершения потока:
do ;
while (!AtlWaitWithMessageLoop( MyThread->m_hThread ));


Так вот, если выполняется MessageBox,
то AtlWaitWithMessageLoop(...) всегда возвращает 0,
хотя поток завершается (смотрел утилитой Process Viewer).
Если же до MessageBox дело не доходит, то все работает нормально.
В чем тут дело?
И вообще, насколько я понял из описания, AtlWaitWithMessageLoop
должен ждать завершения потока или нет?
Alexche
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.