HANDLE CreateThread(
  LPSECURITY_ATTRIBUTES lpThreadAttributes, // SD
  SIZE_T dwStackSize,                       // initial stack size
  LPTHREAD_START_ROUTINE lpStartAddress,    // thread function
  LPVOID lpParameter,                       // thread argument
  DWORD dwCreationFlags,                    // creation option
  LPDWORD lpThreadId                        // thread identifier
);DWORD WINAPI ThreadProc(
  LPVOID lpParameter   // thread data
);上边是Win32的写法。
那MFC怎么写?不懂,请指教!

解决方案 »

  1.   

    一样
    在类体内定义需要加static
    static DWORD   WINAPI   ThreadProc(LPVOID   lpParameter);
    并且为了能使用类内变量需要lpParameter = this;
      

  2.   

    用法一样,不过不一定需要加static,至少我使用的时候不加也一样OK,至于使用指针的问题可以定义一个全局对话框指针,CXxxxxxxxxxxxxxxxxxDlg *dlg;
    在CXxxxxxxxxxxxxxxxxxDlg::CXxxxxxxxxxxxxxxxxxDlg(CWnd* pParent /*=NULL*/)
    : CDialog(CXxxxxxxxxxxxxxxxxxDlg::IDD, pParent)
    {
         dlg=this;
    }
    里面把this赋给对话框指针就行了.
      

  3.   

    MFC里面最好用AfxBeginThread而不是CreateThread
      

  4.   

    多谢几位朋友的热心回复!jwybobo2007 你好。请问阁下是怎么用的,可不可以指点一下。superdiablo 你好。请问AfxBeginThread相关函数使用方法是怎么使用的。能否提供一下相关资料。stivenjia 你好。你的方法我也不太明白。真的……能否提供一些相关资料。
      

  5.   

    千万不要调用 CreateThread()函数来创建新线程,要出错,win32用的是多线程DLL C/C++ CRT中的_beginthreadex() 函数,结束线程用_endthreadex()函数~~~~
    不过如果是MFC那就要用MFC推荐的建立新线程的函数了~~
      

  6.   

    总之一句话,千万不要用CreateThread() 和 ExitThread() 函数
      

  7.   

    总之一句话,千万不要用CreateThread()   和   ExitThread()   函数这个不错啊?
      

  8.   

    mfc里面由他自己的创建线程的函数,用那里的。但是win32里的照样可以用。不过最好不要用createthread(),和exitthread().尤其是exitthread(),它会导致一些c++资源得不到释放。
      

  9.   

    用C++校准的线程函数行不行?比CreateThread好吗?