Для получения информации о количестве процессорных ядер в системе можно воспользоваться переменной окружения Windows NUMBER_OF_PROCESSORS. Ниже приведён фрагмент кода на C++, в котором с помощью метода WinAPI GetEnvironmentVariable извлекается и выводится на экран содержимое данной переменной среды.
#include <windows.h>
#include <tchar.h>
#include <stdio.h>
#define VARNAME TEXT("NUMBER_OF_PROCESSORS")
#define BUFSIZE 4096
int main()
{
TCHAR buf[BUFSIZE];
DWORD dwRet = GetEnvironmentVariable(VARNAME, buf, BUFSIZE);
if (dwRet > 0 && dwRet < BUFSIZE)
_tprintf(_T("Number of processors: %s\n"), buf);
return 0;
}