用AfxBeginThread好像一直死锁在里面?用_beginthreadex提示没有定义,怎样实现在dll里面建立线程?最好有例子。

解决方案 »

  1.   

    long callbackApp;
    void __stdcall ExecuteCallback(long cbAddress) 
    {
    callbackApp = cbAddress;
    DWORD dwThreadIdA1;
    CreateThread(NULL,0,ListenData,NULL,0,&dwThreadIdA1);
    }void __stdcall FunCallBack()
    {
         typedef void (__stdcall *FUNCPTR)(BSTR pbstr);
         FUNCPTR vbFunc;
         vbFunc = (FUNCPTR)callbackApp;
         vbFunc(SysAllocString(L"Hi! This message came from your DLL!"));
    }DWORD __stdcall WINAPI ListenData( LPVOID lpParam )
    {
    FunCallBack();
    return 0;
    }
      

  2.   

    使用_beginthreadex时可以的,如果说没有定义那就是没有包含适当的头文件,《process.h》,还需要设置编译连接选项,使用多线程版本的连接库就可以了
      

  3.   

    to: tob(tob) 
    CreateThread用不了?不知道就不要乱说。