Hi guys. This is way out of my league but I thought someone here might have some ideas...

Apparently there are various methods (GetSystemInfo() / GetLogicalProcessorInfoEx() etc) which can return the number of available processors. But they usually return the number of logical processors and they're affected by stuff like hyperthreading. So for example, depending on how you get the information, a dual-core CPU can either return 1, 2 or 4 processors.

I've been asked if there's any simple way to retrieve the actual number of physical processor cores - i.e. such that a dual core CPU will always get returned as '2'. An 8-core CPU would return '8' etc. Any ideas anyone?