请问如何判断当前的操作系统是win2000还是win98呢?也就是判断当前的操作系统。
现在我只知道如何用API读出当前OA的版本号

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      VerInfo:TOSVersionInfo;begin
      VerInfo.dwOSVersionInfoSize:=SizeOf(VerInfo);
      GetVersionEx(VerInfo);
      if VerInfo.dwPlatformId=VER_PLATFORM_WIN32_NT then
      ......可以参考我以上用的API的帮助
      

  2.   

    type
       OsRecord = record
         PlattFormId: cardinal;
         PlattForm: string;
         Version:   string;
       end;var
     OS: TOSVersionInfo;
     OsRec: OsRecord;
    begin
    with OS do begin
     dwOSVersionInfoSize := SizeOf(TOSVersionInfo);
     if GetVersionEx(OS) then begin
      OsRec.Version := Format('%d.%d (%d.%s)',[dwMajorVersion, dwMinorVersion,
                                               (dwBuildNumber and $FFFF), szCSDVersion]);
      OsRec.Plattform   := Plat(dwPlatformId);//函数在下面
      OsRec.PlattformId := dwPlatformId;
     end;
    end; // with OS
    end;function Plat(Pl: DWORD): string;
    begin
      case Pl of
        VER_PLATFORM_WIN32s:        result := 'Win32s on Windows 3.1x';
        VER_PLATFORM_WIN32_WINDOWS: result := 'Windows 95/98';
        VER_PLATFORM_WIN32_NT:      result := 'Windows NT';
        else                        result := 'Unknow';
      end;
    end;