一个简单的多线程程序,我在worker thread中用
::PostMessage(hWnd,WM_USER_THREAD,(WPARAM)nMax,0);
与主线程通讯,但不知啥原因,主线程收不到这个消息,我在此设置断点,根本就不执行,为什么?救救我吧!

解决方案 »

  1.   

    不会吧
    你需要声明并添加映射函数的OnReceiveMsg()函数,然后判断是否收到消息了
    我以前这样做过是使用SendMessage不过还是可以使用的
    CWnd *pWnd=FindWindow(NULL,"main");
    pWnd->SendMessage(WM_MYMSG,1,0);
    //
    然后我自己添加了消息映射。
    可以执行啊
      

  2.   

    WM_USER_THREAD是我自定义的消息,
    hWnd传递是们m_hWnd
    我已经编写了消息函数
      

  3.   

    如果你能搞清楚"谁在什么时候向谁发了个WM_USER_THREAD消息",可能就会有些思路了.
      

  4.   

    是不是没有写ON_MESSAGE(WM_USER_THREAD,youFunc)宏阿?
      

  5.   

    请尝试 PostThreadMessage,要用 ON_THREAD_MESSAGE 接收消息
      

  6.   

    看看ON_MESSAGE(WM_USER_THREAD,youFunc)