请问如何知道OS是win98还是win2000,多谢

解决方案 »

  1.   

    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;
      

  2.   

    procedure getsysversion
    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.   

    GetVersion取到的版本信息是一个整体,要取得某个主版本或者次版本很麻烦,用一个记录就可以简单解决了:
    procedure TForm1.Button1Click(Sender: TObject);
    Type
      TVersion = packed record
         WinVer,
         WinRev,
         DosRev,
         DosVer: byte;
      end;
    var
      V:Dword;
    begin
      V:=GetVersion;
      Label1.Caption :=Format('Windows Version:%d.%d,Dos Version:%d.%d',[TVersion(V).WinVer,TVersion(V).WinRev,Tversion(V).DosVer,TVersion(V).DosRev]);
    end;
      

  4.   

    就这么简单!if (Win32MajorVersion >= 5) and (Win32Platform = VER_PLATFORM_WIN32_NT) then
      ShowMessage('Windows 2000');
    if (Win32MajorVersion <= 5) and (Win32Platform = VER_PLATFORM_WIN32_WINDOWS) then
      ShowMessage('还用Windows 98!')
      

  5.   

    这些都可以在SysUtils里找到,还可以再看看ms的windows.h头文件,在和delphi的单元对应地研究一下,你会发现很多好东东!
      

  6.   

    可以判断VER_PLATFORM_WIN32_WINDOWS变量的值来看版本
    如果VER_PLATFORM_WIN32_WINDOWS值对应版本
         值                         系统版本
    VER_PLATFORM_WIN32s Win32s on Windows 3.1. 
    VER_PLATFORM_WIN32_WINDOWS Win32 on Windows 95.
    VER_PLATFORM_WIN32_NT Win32 on Windows NT.要更具体判断2000,98,95,NT的区别就调用API函数GetVersionEx
    具体资料可以查看MSDN。