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);
就没有问题了