DWORD WINAPI GetCpuInfoThread(LPVOID p){ CLocalProcessInfo2Dlg *pDlg=(CLocalProcessInfo2Dlg*)(p); while (1) { if (!pDlg->cpu_local.CollectQueryData()) { // AfxMessageBox("Failed Query!"); return 0; }
long lcpu = pDlg->cpu_local.GetCounterValue(pDlg->cpu_counter); pDlg->m_processctrlcpu.SetPos(lcpu); pDlg->m_edit1.Format("%d%%",lcpu); pDlg->UpdateData(false); Sleep(500); } return 1;
}
为了显示edit内容 加了 pDlg->UpdateData(false);
可是debug模式报错:
debug assertion failed!
program:...
file:f:/rtm/vctools/vc7libs/ship/atlmfc/src/mfc/wincore.cpp
line:886
....
pDlg->UpdateData(false);是不是在线程里面运行有问题,然后改成这句:
GetDlgItem(IDC_EDIT1)->SetWindowText(m_edit1);
就没有问题了