小弟在写一个多线程的程序,当主线程给用户界面线程发送结束线程的消息后,单步调试程序,发现程序并未进入用户界面线程的消息响应函数,我想知道如何查看用户界面线程是否已经收到消息了。
另外注,我的用户界面线程其实没有用户界面,只是CGameThread继承了CWinThread,然后用AfxBeginThread(RUNTIME_CLASS(CGameThread),...)创建的线程,消息循环已经建立,因为主线程先前已经给用户界面线程发过消息,能响应。但最后主线程发送的结束线程的消息,用户界面线程却响应不了,不知道如何下手去解决这个问题,请各位有这方面经验的兄弟姐妹指点一下。
先谢谢了。
另外注,我的用户界面线程其实没有用户界面,只是CGameThread继承了CWinThread,然后用AfxBeginThread(RUNTIME_CLASS(CGameThread),...)创建的线程,消息循环已经建立,因为主线程先前已经给用户界面线程发过消息,能响应。但最后主线程发送的结束线程的消息,用户界面线程却响应不了,不知道如何下手去解决这个问题,请各位有这方面经验的兄弟姐妹指点一下。
先谢谢了。
因为听说PostMessage主要用于线程内部传递消息,所以就用了PostThreadMessage,怪我没表述清楚。
没有这区别
可见PostMessage不一定和本线程关联(HWND hWnd)NULL The function behaves like a call to PostThreadMessage with the dwThreadId parameter set to the identifier of the current thread. postmessage当第一个参数为null是,使用PostThreadMessage发送给本线程
可就是进不了消息处理函数,这几天都在想这个问题啊。