我正在尝试使用PerformanceCounters
. 代码:
PerformanceCounter cpuCounter;
cpuCounter = new PerformanceCounter();
cpuCounter.CategoryName = "Processor";
cpuCounter.CounterName = "% Processor Time";
cpuCounter.InstanceName = "_Total";
var result = cpuCounter.NextValue();//ERROR HERE
我收到未经授权的异常。我该如何解决这个问题?
编辑1:
我试图为处理器计数和内存设置当前实例名称,但没有运气......
编辑2:
例外.ToString()
是
System.UnauthorizedAccessException:对注册表项“全局”的访问被拒绝。在 Microsoft.Win32.RegistryKey.Win32Error(Int32 errorCode, String str) 在 Microsoft.Win32.RegistryKey.InternalGetValue(String name, Object defaultValue, Boolean doNotExpand, Boolean checkSecurity) 在 Microsoft.Win32.RegistryKey.GetValue(String name) 在 System System.Diagnostics.PerformanceCounterLib.get_CategoryTable() 中 System.Diagnostics.PerformanceCounterLib.GetPerformanceData(String item) 的 .Diagnostics.PerformanceMonitor.GetData(String item) (String category, String counter, Boolean & categoryExists)在 System.Diagnostics.PerformanceCounterLib.CounterExists(String machine, String category, String counter) 在 System.Diagnostics.PerformanceCounter.InitializeImpl() 在 System.Diagnostics。