Jak rozpoznać w jakim systemie operacyjnym działa program

Adam Boduch

Oto kod:

var 
 OS:TOsVersionInfo;
begin
 OS.dwOSVersionInfoSize:=SizeOf(os);
 GetVersionEx(os);
 case os.dwPlatformId of
  VER_PLATFORM_WIN32s: Caption:='WIN 3.1';
  VER_PLATFORM_WIN32_WINDOWS: Caption:='WIN 9x';
  VER_PLATFORM_WIN32_NT: Caption:='WIN NT';
 end;
end;

Jeżeli chcesz mieć dokładną wersję systemu to pola:
dwMajorVersion oraz dwMinorVersion zawierają dokładny numer systemu.
Np. Win NT 3.51:
dwMajorVersion = 3
dwMinorVersion = 51
Np. Win NT 4.0:
dwMajorVersion = 4
dwMinorVersion = 0
Np. Win 2000:
dwMajorVersion = 5
dwMinorVersion = 0
Np. Win XP:
dwMajorVersion = 5
dwMinorVersion = 1

FAQ

3 komentarzy

to jest odczytanie rodziny systemow, a nie konkretnej wersji :D

A ja chciałbym dożucić coś od microsoftu gdzie jest rozwiniecie tych dwMinor i dwMajor
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sysinfo/base/osversioninfo_str.asp