如何判断当然系统是  win98  还是  win2000  还是   winxp  ?

解决方案 »

  1.   

    Win32Platform
    Value Meaning
    VER_PLATFORM_WIN32s System is Win32s.
    VER_PLATFORM_WIN32_WINDOWS System is Windows 95.
    VER_PLATFORM_WIN32_NT System is Windows NT.
    Win32Platform is available on Windows only.
      

  2.   

    procedure 2
    var ver:integer;//版本号   major:integer;//主版本号   minor:integer;//次版本号 
    begin 
    ver:=getversion();//获得版本号 
    major:=ver and 255;//获得主版本号 
    minor:=(ver and 255*256)div 256; //获得次版本号 
    showmessage(‘系统版本号是:’+inttostr(ver)); //显示版本号 
    showmessage(‘系统主版本号是:'+inttostr(major));//显示主版本号 
    showmessage(‘系统次版本号是:'+inttostr(minor));//显示次版本号 
    end;
      

  3.   

    procedure 2
    var ver:integer;//版本号   major:integer;//主版本号   minor:integer;//次版本号 
    begin 
    ver:=getversion();//获得版本号 
    major:=ver and 255;//获得主版本号 
    minor:=(ver and 255*256)div 256; //获得次版本号 
    showmessage(‘系统版本号是:’+inttostr(ver)); //显示版本号 
    showmessage(‘系统主版本号是:'+inttostr(major));//显示主版本号 
    showmessage(‘系统次版本号是:'+inttostr(minor));//显示次版本号 
    end;
      

  4.   

    procedure TForm1.Button1Click(Sender: TObject);
    var os: OSVERSIONINFO;
    begin
      os.dwOSVersionInfoSize := SizeOf(os);
      GetVersionEx(os);
      case os.dwMajorVersion of
        3: ShowMessage('nt 3.51');
        4:
          begin
            case os.dwMinorVersion of
              0: if os.dwPlatformId = VER_PLATFORM_WIN32_WINDOWS then
                   ShowMessage('95')
                 else
                   ShowMessage('nt 4.0');
              10: ShowMessage('98');
              90: ShowMessage('me');
            end;
          end;
        5:
          begin
            case os.dwMinorVersion of
              0: ShowMessage('2000');
              1: ShowMessage('xp');
            end;
          end;
      end;
    end;
      

  5.   

    procedure 2
    var ver:integer;//版本号   major:integer;//主版本号   minor:integer;//次版本号 
    begin 
    ver:=getversion();//获得版本号 
    major:=ver and 255;//获得主版本号 
    minor:=(ver and 255*256)div 256; //获得次版本号 
    showmessage(‘系统版本号是:’+inttostr(ver)); //显示版本号 
    showmessage(‘系统主版本号是:'+inttostr(major));//显示主版本号 
    showmessage(‘系统次版本号是:'+inttostr(minor));//显示次版本号 
    end;最后给出的是一段数字,我够不懂。
      

  6.   

    sysu(死树) 回答的不错,呵呵,没法发帖了
      

  7.   

    procedure TfrmAbout.GetOSInfo; //获取系统信息
    var
       Platform: string;
       BuildNumber: Integer;
    begin
       case Win32Platform of
          VER_PLATFORM_WIN32_WINDOWS:
          begin
             if (Win32MajorVersion=4) and (Win32MinorVersion=10) then
                Platform :='Windows 98'
             else
                Platform := 'Windows 95';
             BuildNumber := Win32BuildNumber and $0000FFFF;
          end;
          VER_PLATFORM_WIN32_NT:
          begin
             if (Win32MajorVersion=5) and (Win32MinorVersion=0) then
                Platform := 'Windows 2000'
             else if (Win32MajorVersion=5) and (Win32MinorVersion=1) then
                Platform := 'Windows XP'
             else if (Win32MajorVersion=4) and (Win32MinorVersion=0) then
                Platform := 'Windows NT 4.0'
             else
                Platform := 'Windows NT';
             BuildNumber := Win32BuildNumber;
          end;
          else
          begin
             Platform := 'Windows';
             BuildNumber := 0;
          end;
       end;
       if (Win32Platform = VER_PLATFORM_WIN32_WINDOWS) or
          (Win32Platform = VER_PLATFORM_WIN32_NT) then
       begin
          if Win32CSDVersion = '' then
             lblOS.Caption := lblOS.Caption+Format('%s 版本 %d.%d.%d', [Platform, Win32MajorVersion,
                Win32MinorVersion, BuildNumber])
          else
             lblOS.Caption := lblOS.Caption+Format('%s 版本 %d.%d.%d%s', [Platform, Win32MajorVersion,
                Win32MinorVersion, BuildNumber, Win32CSDVersion]);
       end
       else
          lblOS.Caption := lblOS.Caption+Format('%s %d.%d', [Platform, Win32MajorVersion,
          Win32MinorVersion])
       end;
      

  8.   

    procedure TFormOSVer.ButtonOSClick(Sender: TObject);
    var
    P:OSVERSIONINFO;
    begin
       P.dwOSVersionInfoSize := SizeOf(P);
       GetVersionEx(P);
       showmessage(p.szCSDVersion);   //还可以获得你打过的补丁
       case p.dwMajorVersion of
        3: ShowMessage('nt 3.51');
        4:
          begin
            case p.dwMinorVersion of
              0: if p.dwPlatformId = VER_PLATFORM_WIN32_WINDOWS then
                   ShowMessage('95')
                 else
                   ShowMessage('nt 4.0');
              10: ShowMessage('98');
              90: ShowMessage('me');
            end;
          end;
        5:
          begin
            case p.dwMinorVersion of
              0: ShowMessage('Windows 2000');
              1: ShowMessage('xp');
            end;
          end;end;
    end;
      

  9.   

    function TAPIMisc.myGetOSType: TOSType; // changed by Liu Yang 2002.8.7
    var
       VersionInfo : TOSVersionInfo;
    begin
       Result := osUnknown;
       // set the size of the record
       VersionInfo.dwOSVersionInfoSize := SizeOf( TOSVersionInfo );   if Windows.GetVersionEx( VersionInfo ) then
          begin
             with VersionInfo do
             begin
                case dwPlatformId of
                   VER_PLATFORM_WIN32s   : Result := osWin31;
                   VER_PLATFORM_WIN32_WINDOWS : if dwMajorVersion=4 then
                                                  case dwMinorVersion of
                                                    0: Result := osWin95;
                                                    10: Result := osWin98;
                                                    90: Result := osWinMe;
                                                    else Result := osUnknown;
                                                  end else Result := osUnknown;
                   VER_PLATFORM_WIN32_NT      : case dwMajorVersion of
                                                  3: if dwMinorVersion=51
                                                        then Result := osWinNT3
                                                        else Result := osUnknown;
                                                  4: if dwMinorVersion=0
                                                        then Result := osWinNT4
                                                        else Result := osUnknown;
                                                  5: case dwMinorVersion of
                                                        0: Result := osWin2000;
                                                        1: Result := osWinXP
                                                        else Result := osWinNet;
                                                     end;
                                                  6: Result := osWinNet;
                                                  else Result := osUnknown;
                                                end;
                end; // case dwPlatformId
             end; // with VersionInfo
          end; // if GetVersionEx
    end;