views:

322

answers:

4

I need to find the Name and speed of the processor on my machine. I'm building an open source help desk suite and finding this really entertaining!

Thanks for the help guys!

A: 

You need to use WMI.

SLaks
A: 

You can use WMI to fetch processor info.

Alex K.
A: 
System.Environment.GetEnvironmentVariable("PROCESSOR_IDENTIFIER")

will get you something. You'll need to decode it though.

Jakob Kruse
+1  A: 

As the others have pointed out, using WMI. Do this by adding a reference to System.Management.dll, then calling the following code:

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

Besides "Name", WMI also exposes other interesting facts about your processor. Take a look at http://msdn.microsoft.com/en-us/library/aa394373(VS.85).aspx for the definitive list.

Jono
I can only find the System.Management.Instrumentation DLL in the Add Reference menu.
Serg
Even if the assembly's on your system and in your GAC, it won't show up in Visual Studio's dialog box unless there's an entry for it in the registry at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\AssemblyFolders
Jono