I know I can use System.Environment.ProcessorCount to return the number of "processors" in a machine. What I am trying to do is find out if there is a way to determine the number of cores in the processor, not including hyperthreading as a "core". For example, on a dual core hyperthreading processor, System.Environment.ProcessorCount will return 4 because there are 2 physical cores, both with hyperthreading. What I want to do is return 2 because there are only 2 physical cores.
I am using C#, by the way.