在显示每个进程CPU利用率——Windows_VC(2) 的基础上,做了一些修改。
上个程序本来做成了像Windows的任务管理器的——实时刷新CPU利用率。可后来发现换到另一电脑时,刷新出来的值是不对的。原来不同的CPU,其主频是不一样的,所以设置的刷新间隔时间(SetTimer的第二个参数,以毫秒为单位)也应不同。你可根据自己的情况去设置。
在(3)中添加一组控件,来调节刷新。
以下是部分代码
void CShowAllProcessDlg::OnGetInterval() //导入时间间隔
{
// TODO: Add your control notification handler code here
KillTimer(0);
UpdateData(true);
SetTimer(0, int(m_interval*1000), NULL);
}
void CShowAllProcessDlg::OnStopRefresh() //停止刷新
{
// TODO: Add your control notification handler code here
KillTimer(0);
}
(3)的是实时刷新的。你也可以连续点击“获取进程”,观察CPU利用率随时间的变动情况。有可能出现负值,可能是你两次点击间的时间间隔太长的缘故。我不能保证获取值的正确性。因为它的间隔时间不同,得出的值就有可能不同。:) 我也正在研究中。