Mega Code Archive

 
Categories / Delphi / System
 

Windows Version

Title: Windows Version Question: Ever wonder how Windows know what version is running? Answer: It's an API call, and with a little tweaking, you can get it to give up it's secrets. Here is a function that returns a string with the version information. function GetWindowsVersion: string; var // windows api structure VersionInfo: TOSVersionInfo; begin // get size of the structure VersionInfo.dwOSVersionInfoSize := SizeOf(VersionInfo); // populate the struct using api call GetVersionEx(VersionInfo); // platformid gets the core platform // major and minor versions also included. with VersionInfo do begin case dwPlatformid of 0 : begin result := 'Windows 3.11'; end; // end 0 1 : begin case dwMinorVersion of 0 : result := 'Windows 95'; 10: begin if ( szCSDVersion[ 1 ] = 'A' ) then Result :='Windows 98 SE' else Result := 'Windows 98'; end; // end 10 90 : result := 'Windows Millenium'; else result := 'Unknown Version'; end; // end case end; // end 1 2 : begin case dwMajorVersion of 3 : result := 'Windows NT ' + IntToStr(dwMajorVersion) + '.' + IntToStr(dwMinorVersion); 4 : result := 'Windows NT ' + IntToStr(dwMajorVersion) + '.' + IntToStr(dwMinorVersion); 5 : begin case dwMinorVersion of 0 : result := 'Windows 2000'; 1 : result := 'Windows Whistler'; end; // end case end; // end 5 else result := 'Unknown Version'; end; // end case // service packs apply to the NT/2000 platform if szCSDVersion '' then result := result + ' Service pack: ' + szCSDVersion; end; // end 2 else result := 'Unknown Platform'; end; // end case // add build info. result := result + ', Build: ' + IntToStr(Loword(dwBuildNumber)) ; end; // end version info end; // GetWindowsVersion