简单一点:从CWinThead派生一个类,在类中建立一个变量来保存HWND的变量,在创建线程的时候把m_hWnd传到线程的HWND变量中,在线程需要的地方使用SendMessage(),反正不管用啥方法,一定要传窗口的HWND到线程中来用。

解决方案 »

  1.   

    BOOL CyourDlg::OnInitDialog() 
    {
    AfxBeginThread((AFX_THREADPROC)NewThead,this);
    ...
    }
    //void NewThead(LPVOID pParam)
    {
         CyourDlg *dlg=(CyourDlg *)pParam;
    }
      

  2.   

    在对话框类内声明线程函数的友元定义friend DWORD WINAPI Thread(LPVOID lpParameter);
    一个类的友元函数能够访问该类中的变量。我以前做COM的时候用过,应该没问题。
      

  3.   

    1、CreateThread(...)
    2、请注意线程同步问题
      

  4.   

    comet大错特错了,注意CWnd对象是在单个线程中有效的;别问为什么,自己去看MSDN吧 :D
      

  5.   

     用内存映射吧!还有一个烂招
      用WM_COPYDATA