Я пытаюсь получить текущую и максимальную скорость каждого ядра в моем процессоре, но, используя код, который я сейчас использую, он дает мне только одно значение для всего процессора.Вот оно:
public string getSpeed()
{
string res = "";
ManagementObjectSearcher mos = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_Processor");
foreach (ManagementObject mj in mos.Get())
{
res = String.Concat(res, (Convert.ToString(mj["CurrentClockSpeed"])));
}
return res;
}
public string getMaxSpeed()
{
string res = "";
ManagementObjectSearcher mos = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_Processor");
foreach (ManagementObject mj in mos.Get())
{
res = String.Concat(res, (Convert.ToString(mj["MaxClockSpeed"])));
}
return res;
}
, которое дает выходные данные «2500» и «2500» соответственно.
Я использую System.Management и System.Diagnostics, если вам нужно знать.
Можно ли с помощью этих функций Win32 получить текущую и максимальную скорость каждого ядра по отдельности?
Я также использую определенные функции из библиотеки OpenHardwareMonitor.dll в другомфункция, чтобы получить температуру процессора для каждого ядра отдельно, может быть, я могу объединить два и заставить их работать вместе?Вот код, который у меня есть для получения температуры каждого ядра:
public string getCPUTemp()
{
UpdateVisitor updateVisitor = new UpdateVisitor();
Computer computer = new Computer();
computer.Open();
computer.CPUEnabled = true;
computer.Accept(updateVisitor);
string res = "";
for (int i = 0; i < computer.Hardware.Length; i++)
{
if (computer.Hardware[i].HardwareType == HardwareType.CPU)
{
for (int j = 0; j < computer.Hardware[i].Sensors.Length; j++)
{
if (computer.Hardware[i].Sensors[j].SensorType == SensorType.Temperature) res = String.Concat(res, (computer.Hardware[i].Sensors[j].Name + ": " + computer.Hardware[i].Sensors[j].Value.ToString() + "ºC" + "\r"));
if (computer.Hardware[i].Sensors[j].Value.ToString() == "") { res = ""; return res; }
}
}
}
computer.Close();
return res;
}
Должен ли я объединить два, чтобы получить скорость для каждого ядра?Является ли это возможным?Спасибо.