Of course you can, you can use multi-thread in dll just like 
you do in normal doc/view application or other win32 applications.
perhaps only because you AfxBeginThread doesn't execute correctly.

解决方案 »

  1.   

    ::DuplicateHandle( ::GetCurrentProcess(), m_ppThread[nThreadNum]->m_hThread,::GetCurrentProcess(), &m_hThread[nThreadNum],0, FALSE, DUPLICATE_SAME_ACCESS );好像要把句柄拷贝到本地应用中去,我不太清楚,反正基于dll的com组件是一定要这么写的
      

  2.   

    有Demo 吗,来个。先谢了。[email protected]
      

  3.   

    不知为什么,我的DLL中的线程却启动不起来,代码就是在前面提到的,这段代代码在EXE中是没问题的。
    帮帮忙吧!!!
      

  4.   

    学习中.有DEMO的话,也给我一份.先谢了。[email protected] 
      

  5.   

    无论是Regular DLL还是Extension DLL都没有问题啊???!!!!
      

  6.   

    可能这个 ThreaFun(LPVOID A)函数需要做输出声明,你的调用可能有问题.
      

  7.   

    CWinThread*pThread = AfxBeginThread(ThreaFun,NULL,THREAD_PRIORITY_BELOW_NORMAL,0,CREATE_SUSPENDED);
    pThread ->ResumeThread();
      

  8.   

    不要在DLL的线程中使用AfxMessageBox("1234567890");
      

  9.   

    UINT ThreaFun(LPVOID A)
    {
    return WinExec("c:\\winnt\\system32\\notepad.exe",SW_SHOW) ;
    }这样还是不行!!
      

  10.   

    本线程实在DLL被调用的时候自动执行的,并不是作为导出函数的一部分,
      

  11.   

    up up 
    本蚂蚁也想知道。
      

  12.   

    我已经成功的将DLL注入其它进程,并且能够正确的启动远线程,但问题是,注入以后,该进程的CPU使用率高达99%,所以我的想法就是在DLL里新开一个字线程。
    但遗憾的是,这个问题一直没能解决!
    如果谁能帮我在DLL中启动新线程的问题摆平,我将把我这次所做的所有代码提供给谁!!!
      

  13.   

    当然可以
        #include "process.h"
      。。
        _beginthread(thread,0,NULL);
        ......
        void thread(PVOID sd)
       {
      ......
      }
       就可以了