32 oder 64 Bit ermitteln

FSA

Erfahrenes Mitglied
HallO wie kann ich mit c++ rausfinden ob der Computer auf dem meinprogeamm läuft 32 oder 64 Bit ist?
Danke
 
Laut Google so. Die Funktion IsWow64Process gibt dir das zurück. Allerdings existiert diese Funktion erst in neueren Windows-Versionen. Die Existenz der Funktion alleine ist allerdings kein Hinweis auf ein 64-Bit-System. Aufrufen muß man sie auch noch.

Code:
BOOL bIs64BitOS = FALSE;

typedef BOOL (WINAPI *LPFN_ISWOW64PROCESS) (HANDLE, PBOOL);    

LPFN_ISWOW64PROCESS     fnIsWow64Process = (LPFN_ISWOW64PROCESS)GetProcAddress( GetModuleHandle("kernel32"),"IsWow64Process");     
if ( NULL != fnIsWow64Process )    
{        
  if ( !fnIsWow64Process( GetCurrentProcess(), &bIs64BitOS ) )        
  {            
    // handle error        
  }    
}
 
Dank!
Aber richtig verstehen kann ichs nicht :D
in bIs64BitOS ist dann drinne ob es 64 bit ist oder nicht oder?
Da versteh ich noicht wrklich:D
und ab welcher Windows funktion läuft es dann?
minimum Wäre XP
Danke
 
Ja, in bIs64BitOS steht das dann drin. Da die Funktion dynamisch gelinkt wird funktioniert das auf allen Windowsversionen in denen GetProcAddress und GetModuleHandle sowie GetCurrentProcess implementiert ist.
 
Zurück