工作线程自定义的消息循环的问题?
本人在主线程中向工作线程传递一个自定义消息出错,工作线程的处理函数如下:
UINT f(LPVOID pParam)
{
MSG msg;
while(PeekMessage(&msg,NULL,0,0,PM_NOREMOVE))
{
if(msg.message==WM_MYMSG) //WM_MYMSG为自定义消息
{
GetMessage(&msg,NULL,0,0);
………………
//该消息所对应的操作
}
else if(msg.message==WM_QUIT)
{
break;
}
}
return 0;
}
主线程发送消息的代码如下:(主线程是一个对话框)
trd->PostThreadMessage(WM_MYMSG,0,0); //trd为工作线程对象的指针
程序一运行就出错,在传递消息的程序中断言错误。