WEB开发网
开发学院软件开发VC 《系统飞狐》系列软件中的“系统监视器”开发详解... 阅读

《系统飞狐》系列软件中的“系统监视器”开发详解

 2010-06-27 20:40:40 来源:WEB开发网   
核心提示:绘制实时曲线描述当前状态,在OnTimer函数和OnPaint中编制如下代码来求得实时的值然后绘制曲线:void CCpuPage::OnTimer(UINT nIDEvent){DWORD dwDataSize;DWORD dwType;dwDataSize=sizeof(DWORD);RegQueryValueEx

绘制实时曲线描述当前状态,在OnTimer函数和OnPaint中编制如下代码来求得实时的值然后绘制曲线:

void CCpuPage::OnTimer(UINT nIDEvent)
{
  DWORD dwDataSize;
  DWORD dwType;
  dwDataSize=sizeof(DWORD);
  RegQueryValueEx( hkey,
           "KERNEL\\CPUUsage",
           NULL,
           &dwType,
           (LPBYTE)&dwCpuUsage,
           &dwDataSize ); //CPU 的获得

  RegQueryValueEx( hkey,
          "KERNEL\\Threads",
          NULL,
          &dwType,
          (LPBYTE)&dwThreadUsage,
          &dwDataSize );//线程的获得

  UpdateData(FALSE);
  Invalidate(FALSE);
  CPropertyPage::OnTimer(nIDEvent);
}
void CCpuPage::OnPaint()
{ CPaintDC dc(this); // device context for painting
for( i=0; i<50;i++)//画历史图
{
  m_CPUData[i]=m_CPUData[i+1];//历史值
}
m_CPUData[49]=n*3;
dc.MoveTo(146,94-m_CPUData[0]);绘制曲线
for( i=1; i<50;i++)
{
  dc.LineTo(146+4.7*i,94-m_CPUData[i]/1.2);
  dc.SelectObject(pOldPen);
}

图二 图形界面

结束语

系统监视器的核心主要是通过对注册表的操作进行系统的检测,上面的介绍清楚的说明了注册表记录操作系统的各种运行参数,我们要做的就是找到这些参数对应的注册表值,然后根据对这些值的变化来得到当前的系统状态,由于作者时间有限,没有对软件的使用平台进行扩展目前只支持Win9x操作系统,相信经过大家的努力能把它完善!如有任何问题请到作者的VC++资源中心上反应,由于邮件过多无法保证一一回复,另外作者水平有限,请大家多多指正!

本文配套源码

上一页  1 2 

Tags:系统 飞狐 系列

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接