請問如何得到電腦運行的操作系統和版本?
98,98 se,xp home,xp pro,nt,2000......

解决方案 »

  1.   

    procedure TfmAbout.GetOSInfo;
    var
      Platform: string;
      BuildNumber: Integer;
    begin
      case Win32Platform of
        VER_PLATFORM_WIN32_WINDOWS:
          begin
            Platform := 'Windows 98';
            BuildNumber := Win32BuildNumber and $0000FFFF;
          end;
        VER_PLATFORM_WIN32_NT:
          begin
            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
          Label1.Caption := Format('%s %d.%d (Build %d)', [Platform, Win32MajorVersion,
            Win32MinorVersion, BuildNumber])
        else
          Label1.Caption := Format('%s %d.%d (Build %d: %s)', [Platform, Win32MajorVersion,
            Win32MinorVersion, BuildNumber, Win32CSDVersion]);
      end
      else
        Label1.Caption := Format('%s %d.%d', [Platform, Win32MajorVersion,
          Win32MinorVersion])
    end;procedure TfmAbout.FormCreate(Sender: TObject);
    begin
      GetOSInfo;
    end;