[C++] Informacje o procesorze

0

Hej!
Mam pytanie jak pobrać informacje na temat modelu procesora (czy to jest Pentium 3 czy Celeron D itp).
na razie udało mi się uzyskać info na temat szybkości w MHz procesora

AnsiString SzybkoscProcesora_Odczytaj()
{
AnsiString sMHz;
char Buffer[_MAX_PATH];
DWORD BufSize = _MAX_PATH;
DWORD dwMHz = _MAX_PATH;
HKEY hKey;


long lError = RegOpenKeyEx(HKEY_LOCAL_MACHINE,
						"HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0",
						0,
						KEY_READ,
						&hKey);

	if(lError != ERROR_SUCCESS)
	  {// if the key is not found, tell the user why:
		   FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM,
						 NULL,
						 lError,
						 0,
						 Buffer,
						 _MAX_PATH,
						 0);
			   ShowMessage(Buffer);
			   return "N/A";

	   }


		RegQueryValueEx(hKey, "~MHz", NULL, NULL, (LPBYTE) &dwMHz, &BufSize);

	sMHz = IntToStr(dwMHz);
return sMHz;

}

Ewentualnie informacje też są zapisane w postaci zmiennej środowiskowej

Label1->Caption = getenv("PROCESSOR_IDENTIFIER");

ale nie są to takie o które mi chodzi (nie pokazuje CELERON D) tylko x86 15 Model 6 Stepping 4, GenuIntel

Jest jeszcze jedna możliwość (wyswietla klase procesora, bardzo ogolnie, 386, 486 i 586)

SYSTEM_INFO siSysInfo;

   // Kopiuj informacje o HARDWARE do struktury siSysInfo

   GetSystemInfo(&siSysInfo);
   Typ_Mikroprocesora_Edit1->Text = siSysInfo.dwProcessorType;

Nigdzie nie moge znaleźć funkcji która by pokazała model procesora (Pentium1, Pentium 2, Pentium 3, Celeron itp)...

1

zobacz tutaj ;)
CPUID

1 użytkowników online, w tym zalogowanych: 0, gości: 1