头文件中
static UINT thdWork(LPVOID lParam);
主程序中
运行标志 = TRUE;
m_pThd = AfxBeginThread(thdWork,this);
需要工作线程结束时 运行标志 = FALSE;
工作线程
UINT CMYCLASS::thdWork(LPVOID lParam)
{
CMYCLASS *pThis = (CMYCLASS*)lParam; //要使用成员变量必须明确使用pThis->变量名
while(运行标志)
{
if(SerialPort收到数据)
{
//这里不能调用GDI绘图代码,只能向控件发消息,不过控件变量的SetWindowText之类的方法实际上是向控件的HWND发消息,所以是可以用的.
pThis->m_lst.AddString(收到的字符串);
//或者使用其他方式通知主线程,由主线程显示
}
Sleep(1); //如果接收代码不会阻塞这里必须睡眠一下,不然CPU100%
}
return 0;
}