「なでしこv1」開発掲示板

なでしこv1のバグや要望を書き込む掲示板

↑ (#2003) WindowsVistaだか7の64bits版でAPIが変わったようです - うぇいく (2012-05-23 21:50) /低 未処理
修正箇所を少なく直すとしたら、以下のような感じでしょうか。
CpuUtilsは直せないという場合は、素直にPdhに切り替えるのが良さそうです。
---CpuUtils.pasの20行目ぐらいにプロパティ1つ追加。
  private
    FHandle: THandle;
    FInfoSize: Integer;
    FReg: TRegistry;
---50行目ぐらいのReservedを増やす
  _SYSTEM_PERFORMANCE_INFORMATION = record
    IdleTime: LARGE_INTEGER;
    Reserved: array [0..87] of DWORD;
  end;
---90行目ぐらいにプロパティの初期化を追加
    end else
      FHandle := 0;
  end;
  FInfoSize := 312;
end;
---130行目ぐらいのAPI呼び出し失敗時の再試行追加。
  if NtQuerySystemInformation(3, @TimeInfo, SizeOf(TimeInfo), nil) <> NO_ERROR then
    Exit;
  if NtQuerySystemInformation(2, @PerfInfo, FInfoSize, nil) <> NO_ERROR then
  begin
    FInfoSize := 312 + 360 - FInfoSize;
    if NtQuerySystemInformation(2, @PerfInfo, FInfoSize, nil) <> NO_ERROR then
      Exit;
  end;
---
編集
📌 Windows 7でCPU使用率取得が機能しない / なで熊 (2010-01-23 16:31) (#1451) /低 未処理
└─ こちらでは / k.k (2010-02-04 22:11) (#1475) /低 未処理
└─ 7RC 64bitで再現しました / 99yen (2010-02-06 14:43) (#1478) /低 未処理
└─ WindowsVistaだか7の64bits版でAPIが変わ.. / うぇいく (2012-05-23 21:50) (#2003) /低 未処理
└─ r265de / クジラ飛行机 (2012-07-04 15:43) (#2008) /低 未処理
└─ r265で修正 / クジラ飛行机 (2012-07-04 15:46) (#2009) /低 確認待ち
└─ Windows8 64bit / のなお (2013-01-31 18:30) (#2094) /低 未処理

✏️ (#2003)へ返信する

編集時に使うキーを入力(省略可能)

画像ファイル(最大300KB)を添付可能