2017-08-28 35 views
1

私は常に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:無効なインデックスがレジストリから読み取られたため、カウンタ名のデータを読み込めません。

+0

エラーを投げる 'cpuCounter.NextValue()'か 'cpuCounter.NextValue()+"% "'ですか? – crashmstr

+0

cpuCounter.NextValue(); cpuCounter.NextSample()も例外をスローします。 – Cluster

+0

私のwin10マシンで動作するので、おそらくそうではありません。コードはうまくいくようです。 –

答えて

関連する問題