DWORD gThreadProc(LONG); class a { public: void StartThread(); DWORD ThreadProc(); ... } void a::StartThread() { DWORD gdwThreadId = 0; CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)gThreadProc,this,0,&gdwThreadId); } DWORD gThreadProc(LONG lParam) { a* pThis = (a*)lParam; return pThis->ThreadProc(); }
class A { int b; }; DWORD MyThread(LPVOID param); A aa; DWORD id; CreateThread(NULL,NULL,MyThread,(LPVOID)&aa,NULL,&id); //在线程里面 DWORD MyThread(LPVOID param) { A *p = (A *)param; p->b = 5; //这里就可以直接使用类实例里面的变量了 return 0; }