프로젝트에 pdh.lib 를 링크하거나
소스에
#pragma comment(lib,"pdh.lib")
를 추가해서 사용하면 됩니다.
예제파일의 소스를 보면 어렵지 않지만 간단히 설명하면.
CPU,메모리 사용량을 확인할려고 하면.
초기화 - OnCreate() 같은곳에 넣으면 되겠죠.
------------------------------------------------------------------------
//cpu,mem 사용량 처리용/////////////////////////////////
// TODO: Add extra initialization here
if (!m_PerfMon.Initialize())
{
AfxMessageBox("Could not initialize CPerfMon!");
return true;
}
// add counters
m_nCPU = m_PerfMon.AddCounter(CNTR_CPU);
m_nMEM = m_PerfMon.AddCounter(CNTR_MEMINUSE_PERCENT);
// init timer
SetTimer(1, 5000, NULL); // every half second refresh the counters
---------------------------------------------------------------------------
타이머 - OnTimer() 에서 필요한 작업을 하면 되겠네요.
---------------------------------------------------------------------------
if (!m_PerfMon.CollectQueryData())
{
AfxMessageBox("Failed Query!");
return;
}
// update counters
long lcpu = m_PerfMon.GetCounterValue(m_nCPU);
long lmem = m_PerfMon.GetCounterValue(m_nMEM);
// update dialog
if (lcpu != -999)
{
m_strCpu.Format("%d%%", lcpu);
}
if (lmem != -999)
{
m_strMem.Format("%d%%", lmem);
}
CString str;
str.Format("%d%% %d%%",lcpu,lmem);
AfxMessageBox(str);