一个对话框程序,点击一按钮后新建一个线程执行任务,完成后发送一个自定义的消息给主窗口,继续运行下面的代码.
问题是:
   在这个新线程执行任务的时候如果我用Alt+Tab不断切换窗口的话,任务执行完后主窗口收不到结束消息,如果切换窗口不是很频繁则不会出现这个问题,就是时不时会出现收不到消息.接收用的:
while ( GetMessage( &msg, GetSafeHwnd(), 0,0 ) )
{
if( msg.message == WM_FINISH)
{
break;
}
TranslateMessage( &msg );
DispatchMessage( &msg );
}
发送消息:
::PostMessage( (hwnd, WM_FINISH, 0, 0 );