首先微软的东西,首先到微软的老窝找东西
http://msdn.microsoft.com/en-us/library/windows/desktop/aa373214(v=vs.85).aspx
第二步:
看到这几个东西
Create a query
Add counters to the query
Collect the performance data
Display the performance data
Close the query
这几个步骤,
在Gh0st中是这样用的
第一: 打开一个查询
if (ERROR_SUCCESS != PdhOpenQuery(NULL, 1, &m_hQuery))
return FALSE;
第二: 添加了一个监视器
其中关键的为第二个,他直接用了一个常量字符串
char szCounterName[] = "\\Processor(_Total)\\% Processor Time";
PDH_STATUS pdh_status = PdhAddCounter(m_hQuery, szCounterName, (DWORD) m_pCounterStruct, &(m_pCounterStruct->hCounter));
第三:
PdhCollectQueryData(m_hQuery);
第四:
if (ERROR_SUCCESS != PdhGetFormattedCounterValue(
m_pCounterStruct->hCounter,
PDH_FMT_LONG,
NULL,
&pdhFormattedValue ))
第五:
PdhCloseQuery(m_hQuery);
分离之后 写成C形式如下:
http://download.csdn.net/detail/u012607841/6766897
这里有一篇文章,和我的不同的地方,就是在组合查询字符串的时候,用的是系统提供的api
http://blog.csdn.net/jcwkyl/article/details/3851826