k²bytes - Rosenheim, Webdesign, Industrielle Bildverarbeitung, Machinensteuerung, Softwarelösungen
  Impressum  |  Kontakt  |  Support  |  Forum   

Anzahl der CPU Kerne unter Windows mit C++ ermitteln

Nach langer Suche nach einer Möglichkeit die Anzahl der CPU Cores (CPU Kerne) unter Windows mittels unmanaged C++ zu ermitteln, habe ich eine Lösung über die Registry gesucht und selbst erarbeitet.

Auf meinen Systemen (WinXP Embedded und Win7) hat diese Methode bis dato einwandfrei funktioniert. Sollte es bei einem eurer Systeme nicht funktionieren, so bitte ich um Rückmeldung.

Hier der dazugehörige Quelltext:

 

#include <windows.h>

int GetCPUCores()
{
  HKEY hKey;

  if(RegOpenKey(HKEY_LOCAL_MACHINE,
      "HARDWARE\\DESCRIPTION\\System\\CentralProcessor",
      &hKey)!=ERROR_SUCCESS)
    return 0;
 
  DWORD nrOfCores = 0;

  if(RegQueryInfoKey(hKey,NULL,
          NULL,
            NULL,(LPDWORD)&nrOfCores,
            NULL,
            NULL,
            NULL,
            NULL,
          NULL,
            NULL,
            NULL)!=ERROR_SUCCESS)
  {
    RegCloseKey(hKey);
    return 0;
  }

  RegCloseKey(hKey);

  return (int)nrOfCores;
}

 

 

 

Ich hoffe dieser Codeschnippsel ist einigen Leuten Hilfreich

K²bytes - http://www.k2bytes.de  |    Impressum  |  Kontakt  |  Support  |  Forum   
Webdesign, Softwareentwicklung, IT-Consulting, SPS-Programmierung, Rosenheim, Typo3, Joomla, Redaxo
Themen auf Onlinestreet.de