私は常にCPU使用率を取得する(#278071から)この単純なコードを使用:はPerformanceCounterを使用してC#でCPU使用率を取得できません - にSystem.FormatException
var cpuCounter = new PerformanceCounter("Processor", "% Processor Time", "_Total");
public string getCurrentCpuUsage() {
return cpuCounter.NextValue()+"%";
}
それは何年も完全に働きました。しかし、アップグレード後は機能しません。私は今Windows 10を使用していて、cpuCounter.NextValueはSystem.FormatExceptionを投げます。:入力文字列の形式が正しくありません。
どういうところが間違っていますか?それはWindows 10のためですか?それとも、新しいCPU - Xeon E5-2683のためですか? CPU使用量を取得するにはどうすればよいですか?
upd: .NET Framework 3.5を使用しているときにSystem.FormatExceptionがスローされます。 InvalidOperationException:無効なインデックスがレジストリから読み取られたため、カウンタ名のデータを読み込めません。
エラーを投げる 'cpuCounter.NextValue()'か 'cpuCounter.NextValue()+"% "'ですか? – crashmstr
cpuCounter.NextValue(); cpuCounter.NextSample()も例外をスローします。 – Cluster
私のwin10マシンで動作するので、おそらくそうではありません。コードはうまくいくようです。 –