如果判断操作系统是98,me,2000还是xp,有完整代码更好!

解决方案 »

  1.   

    如果用Delphi 6.0的话直接可以取得访问 Win32MajorVersion ,Win32MinorVersion ,Win32CSDVersion 等变量,也可以用以下代码:
    function GetWindowsVersion: string; 
    var 
    // windows api structure 
    VersionInfo: TOSVersionInfo; 
    begin 
    // get size of the structure 
    VersionInfo.dwOSVersionInfoSize := SizeOf(VersionInfo); 
    // populate the struct using api call 
    GetVersionEx(VersionInfo); 
    // platformid gets the core platform 
    // major and minor versions also included. 
    with VersionInfo do 
    begin 
    case dwPlatformid of 
    0 : begin 
    result := 'Windows 3.11'; 
    end; // end 0 1 : begin 
    case dwMinorVersion of 
    0 : result := 'Windows 95'; 
    10: begin 
    if ( szCSDVersion[ 1 ] = 'A' ) then 
    Result :='Windows 98 SE' 
    else 
    Result := 'Windows 98'; 
    end; // end 10 
    90 : result := 'Windows Millenium'; 
    else 
    result := 'Unknown Version'; 
    end; // end case 
    end; // end 1 2 : begin 
    case dwMajorVersion of 
    3 : result := 'Windows NT ' + 
    IntToStr(dwMajorVersion) + '.' + 
    IntToStr(dwMinorVersion); 
    4 : result := 'Windows NT ' + 
    IntToStr(dwMajorVersion) + '.' + 
    IntToStr(dwMinorVersion); 
    5 : begin 
    case dwMinorVersion of 
    0 : result := 'Windows 2000'; 
    1 : result := 'Windows Whistler'; 
    end; // end case 
    end; // end 5 
    else 
    result := 'Unknown Version'; 
    end; // end case 
    // service packs apply to the NT/2000 platform 
    if szCSDVersion <> '' then 
    result := result + ' Service pack: ' + szCSDVersion; 
    end; // end 2 
    else 
    result := 'Unknown Platform'; 
    end; // end case 
    // add build info. 
    result := result + ', Build: ' + 
    IntToStr(Loword(dwBuildNumber)) ; 
    end; // end version info 
    end; // GetWindowsVersion
      

  2.   

    'Windows Whistler'表示什么啊?是不是就是xp啊?
    还有result := result + ', Build: ' + 
    IntToStr(Loword(dwBuildNumber)) ;是什么意思?可以不要吗?
      

  3.   

    asdf008(棒棒糖) 已经说的很明确了!在xp下就是判断为'Windows Whistler'