Всем привет, столкнулся с проблемой при написании программы мониторинга системы в C # при использовании
PerformanceCounter ("Processor", "% Processor Time", i.ToString ());
вылетает ошибка "Входная строка имела неверные формат"
При использовании WMI также вылетает ошибка
ManagementClass class1 = new ManagementClass ("Win32_PerfFormattedData_PerfOS_Processor");
foreach (ManagementObject ob in class1.GetInstances ())
{
Console.WriteLine ("Name -" + ob.GetPropertyValue ("Name"). ToString (). Trim ());
object percents = ob.GetPropertyValue ("PercentProcessorTime");
/ / Обратите внимание на проверку
if (percents! = null)
Console.WriteLine ("PercentProcessorTime -" + percents);
else
Console.WriteLine ("PercentProcessorTime - null");
}
В этой строке object percents = ob.GetPropertyValue ("PercentProcessorTime");
выдает "Исключение из HRESULT: 0xC0000BBF"
При использовании С++
pe.szMachineName = 0l;
pe.szObjectName = "Processor";
pe.szInstanceName = "_Total";
pe.szParentInstance = NULL;
pe.dwInstanceIndex = 0;
pe.szCounterName = "% Processor Time";
/ / Создаем путь к счетчику PDH
pdhResult = PdhMakeCounterPath (& pe, szCounterPath, & dwPathSize, 0);
if (pdhResult! = ERROR_SUCCESS) / / если Была ошибка, то
return pdhResult; / / выхода, Возвращая номер ошибки
/ / Открываем счетчик PDH
pdhResult = PdhAddCounter (hQuery, szCounterPath, 0, & hCounter);
if (pdhResult! = ERROR_SUCCESS) / / если Была ошибка, то
return pdhResult; / / выхода, Возвращая номер ошибки
PdhAddCounter () возвращает код ошибки 1073738824(0xC0000BBF)
Погуглив и нашел что проблема может быть связана с тем, что сбитый счетчик производительности, кто сталкивался с такой проблемой, если можете помогите
Я подозреваю, что и WinApi функции вернут код ошибки, попробую и отпишусь