我从这里找到了以下代码“ http://www.boyet.com/Articles/CodeFromInternet.html ”。
它返回 CPU 的速度(以 GHz 为单位),但仅适用于 32 位 Windows。
using System;
using System.Management;
namespace CpuSpeed
{
class Program
{
static double? GetCpuSpeedInGHz()
{
double? GHz = null;
using (ManagementClass mc = new ManagementClass("Win32_Processor"))
{
foreach (ManagementObject mo in mc.GetInstances())
{
GHz = 0.001 * (UInt32) mo.Properties["CurrentClockSpeed"].Value;
break;
}
}
return GHz;
}
static void Main(string[] args)
{
Console.WriteLine("The current CPU speed is {0}", (GetCpuSpeedInGHz() ?? -1.0).ToString());
Console.ReadLine();
}
}
}
我搜索过 64 位管理类,但没有成功。
有没有其他方法可以获取64位Windows下的CPU速度?
最佳答案
下面的代码应该可以解决问题
RegistryKey registrykeyHKLM = Registry.LocalMachine;
string keyPath = @"HARDWARE\DESCRIPTION\System\CentralProcessor\0";
RegistryKey registrykeyCPU = registrykeyHKLM.OpenSubKey(keyPath, false);
string MHz = registrykeyCPU.GetValue("~MHz").ToString();
string ProcessorNameString = (string)registrykeyCPU.GetValue("ProcessorNameString");
registrykeyCPU.Close();
registrykeyHKLM.Close();
Console.WriteLine("{0} MHz for {1}", MHz, ProcessorNameString);
关于c# - 如何在 Windows 64 位上检测 CPU 速度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/336654/