我做了俩线程,用其中一个杀死了另外的一个,这个时候这个杀手也自己死了!
这是怎么回事啊!

解决方案 »

  1.   

    是不是那个线程函数里面就terminatethread一句话啊?
      

  2.   

    CWinThread* bReturn = AfxBeginThread(progThreadProc,&A);
    AfxMessageBox(_T("ShouHaiZhe"));
               bReturn = AfxBeginThread(progThreadProc1,A);
    AfxMessageBox(_T("MouShaZhe"));
      

  3.   

    调用的时候就是这样调用的,但是在执行的时候,
    UINT progThreadProc(LPVOID pParam )
    {
    *(HANDLE*)pParam = GetCurrentThread();
    popup.DoModal();
    AfxMessageBox(_T("OK here"));
    return 0;
    }UINT progThreadProc1(LPVOID pParam)
    {
    BOOL sign = TerminateThread((HANDLE)pParam,0);
            AfxMessageBox(_T("chenggong"));
    UpdateWindow(AfxGetMainWnd()->GetSafeHwnd());
    return 0;
    }这个AfxMessageBox(_T("chenggong"));就没有执行就出去了阿!
      

  4.   

    穿过来的是0xFFFFFFFF,这个是伪句柄来的...当然把自己结束了..
      

  5.   

    它杀..变成了自杀...
    创建progThreadProc的时候不是有handle吗?把它传过去..
      

  6.   

    bReturn = AfxBeginThread(progThreadProc1,A); 
    ->
    bReturn = AfxBeginThread(progThreadProc1,&(bReturn->m_hThread)); 
      

  7.   

    在创建线程的时候在驻进程中就可以获得被创建线程的handle?
    怎么做啊!
    万望大家不吝指教阿!
      

  8.   


    恩,好了!
    谢谢!
    我的分数很少!不知道怎么分了!大家意思下了阿!hehe !