如何使用C#(.NET 3.5)获取我的计算机处理器名称?

7

我需要找到我的计算机处理器的名称和速度。我正在构建一个开源的帮助台套件,这真的很有趣!

感谢大家的帮助!

3个回答

13

正如其他人所指出的那样,可以使用WMI。做法是添加对System.Management.dll的引用,然后调用以下代码:

ManagementObjectSearcher mos = 
  new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_Processor");
    foreach (ManagementObject mo in mos.Get()) {
      Console.WriteLine(mo["Name"]);
    }

除了"Name"之外,WMI还公开了有关处理器的其他有趣信息。请查看http://msdn.microsoft.com/en-us/library/aa394373(VS.85).aspx获取最全面的列表。


我只能在“添加引用”菜单中找到System.Management.Instrumentation DLL。 - delete
即使程序集已经存在于您的系统和全局程序集缓存中,如果在注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft.NETFramework\AssemblyFolders中没有为其添加条目,则它将不会出现在Visual Studio的对话框中。 - Jono

5
如果可以使用Windows注册表,则查询以下路径获取处理器名称: HKLM\HARDWARE\DESCRIPTION\System\CentralProcessor\0\ProcessorNameString
如果存在多个物理/逻辑处理器,则可能使用除零以外的值。

4
System.Environment.GetEnvironmentVariable("PROCESSOR_IDENTIFIER")

这将会得到一些东西。不过你需要解码它。


2
拥有Intel Core i5-3570处理器,返回的信息是"Intel64 Family 6 Model 58 Stepping 9, GenuineIntel"。这并不是一个好的答案。 - José Augustinho

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接