お世話になります。
PDH.DLLを使ってCPUの使用率をとる時は、
szCounterPath:='\Processor(_Total)\% Processor Time';
dwResult:=PdhAddCounter(hQuery,Pchar(szCounterPath),0,@hcounter1);
dwResult:=PdhGetFormattedCounterValue(hCounter1, PDH_FMT_DOUBLE , @ctrType, @PdhFmtCounterValue);
Gauge1.Progress := Round(PdhFmtCounterValue.doubleValue);
として取得できるのですが、Coreごとを取る場合には、
szCounterPath:= '\Processor(*/*#*)\% Processor Time';
としたのですがうまくいきません。
複数の場合の方法はどうすればいいでしょうか?
また、違うカウンターを取得する場合は、
1つのデータ取得後、カウンターを追加後もう一度、
PdhGetFormattedCounterValueを並べていますが、こんな方法で
いいでしょうか?
よろしくお願いします。
こんにちは。
[How To Get Per-Core CPU Usage]
http://w-shadow.com/blog/2009/04/17/per-core-cpu-usage/
<!> コメント欄の情報に注意 <!>
ワイルドカードを PdhExpandWildCardPath() で展開してやる必要があるようです。
ツイート | ![]() |