将类的成员函数,作为线程的回调函数.代码如下:
class?test { ????UINT???m_nCount; ????public: ???UINT?WINAPI?threadProc(LPVOID?*?wparm); } UINT?__stdcall?test::threadProc(LPVOID?*?wparm) { ?int?i?=?0; ?while?(1) ?{ ?if?(i?==?20)?break; ?Sleep(30); ?m_nCount?=i++; ?CString?str; ?str.Format(_T("%d\n"),?m_nCount); ?TRACE(str);? ?} ?return?0; } void?test::OnBnClickedStart() { typedef??UINT???(__stdcall??*stdProc)(LPVOID); typedef??UINT???(__stdcall??test::*?ProcObject)(LPVOID); ProcObject??theProc?=?(ProcObject)&test::threadProc; ????????HANDLE??handle?=?CreateThread(NULL,?0,? ????????????(LPTHREAD_START_ROUTINE)*(stdProc*)&theProc,this,?0,NULL); }
原文地址:http://blog.51cto.com/9233403/2048717