dポイントプレゼントキャンペーン実施中!

void DispTime()
{
HQUERY hQuery;
HCOUNTER hCounter;
PDH_FMT_COUNTERVALUE FmtValue;

PdhOpenQuery(NULL, 0, &hQuery);
PdhAddCounter(hQuery, "\\Process(_Total)\\% Processor Time", 0, &hCounter);
PdhCollectQueryData(hQuery);

int i;
for(i=0;i<10;i++){
Sleep(500);
PdhCollectQueryData(hQuery);
PdhGetFormattedCounterValue(hCounter, PDH_FMT_DOUBLE, NULL, &FmtValue);
printf("CPU使用率: %f%%\n", FmtValue.doubleValue);
}

PdhCloseQuery(hQuery);
}
このようにし、CPU使用率を表示させようとしたのですが、100%や96%などとしか表示されません。タスクマネージャで調べたら、2,3%で多くとも10%ぐらいなのですが、なぜこうなるか原因がわかりません。

A 回答 (1件)

CPU使用率を求めるなら、


Process(_Total)ではなく、Processor(_Total)ではないでしょうか?
    • good
    • 0
この回答へのお礼

ありがとうございます。解決しました!!

お礼日時:2005/06/27 23:23

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!