БОЛЬШОЙ FAQ ПО DELPHI



Узнать версию Windows

Бог создал мир за семь дней и до сих пор система работает, не требуя перезагрузки, потому что у него не было необходимости поддерживать совместимость с предыдущими версиями.


 type
   TWinVersion = (wvUnknown, wv95, wv98, wvME, wvNT3, wvNT4, wvW2K, wvXP);
 
 function DetectWinVersion: TWinVersion;
 var
   OSVersionInfo: TOSVersionInfo;
 begin
   Result := wvUnknown;
   OSVersionInfo.dwOSVersionInfoSize := sizeof(TOSVersionInfo);
   if GetVersionEx(OSVersionInfo) then
   begin
     case OSVersionInfo.DwMajorVersion of
       3: Result := wvNT3;
       4: case OSVersionInfo.DwMinorVersion of
           0: if OSVersionInfo.dwPlatformId = VER_PLATFORM_WIN32_NT then
               Result := wvNT4
             else
               Result := wv95;
           10: Result := wv98;
           90: Result := wvME;
         end;
       5: case OSVersionInfo.DwMinorVersion of
           0: Result := wvW2K;
           1: Result := wvXP;
         end;
     end;
   end;
 end;
 
 function DetectWinVersionStr: string;
 const
   VersStr: array[TWinVersion] of string = (
     'Unknown',
     'Windows 95',
     'Windows 98',
     'Windows ME',
     'Windows NT 3',
     'Windows NT 4',
     'Windows 2000',
     'Windows XP');
 begin
   Result := VersStr[DetectWinVersion];
 end;
 
 procedure TForm1.Button1Click(Sender: TObject);
 begin
   Ver := DetectWinVersion;
   Label1.Caption := IntToStr(Ord(DetectWinVersion));
   Label2.Caption := DetectWinVersionStr;
 end;
 




<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ



Материалы находятся на сайте https://exelab.ru/pro/



Видеокурс ВЗЛОМ