我用CreateThread开启一个线程,主程序里要传个指针参数(new 出来的)该线程负责拷贝文件,我想知道怎么得知拷贝结束,这样好刷新文件信息自定义消息可以实现吗, 大家帮忙看看!!

解决方案 »

  1.   

    WaitForSingleObject(你的线程句柄)
      

  2.   

    WaitForSingleObject() 感觉不适合你。你UI线程不能阻塞。在 worker线程完成后,SendMessage给 UI 线程比较好。
      

  3.   

    msgwaitforsingleobject()
    when you wait for you thread, it also process the UI msg.
    override the Run() function,rewrite the msg loop with this function.
      

  4.   

    WaitForSingleObject(你的线程句柄)
      

  5.   


    线程开始的时候启动一个定时器
    在定时器里边调用如下:
    WaitForSingleObject(你的线程句柄,超过时间);检测返回结果,如果是超时则线程还在运行,否则,如果没有错误,线程已经结束。二int ThreadFun(LPVOID lParam)
    {
       HWND hWnd=//被通知窗口句柄,从lParam里边的某个字段来。 
       ......
       ::PosetMessage(hWnd,.......);
       return 0;
    }你也可以用回掉函数。int ThreadFun(LPVOID lParam)
    {
       
       CallBackFun * pFunc=//回调函数指针,从lParam里边的某个字段来。 
       ......
       pFunc(。);
       return 0;
    }