用哪人API判断当前操作系统是不是 XP  或 2003

解决方案 »

  1.   

    CheckWin32Version(5,1)返回真,系统是XP,以次类推
     GetVersionEx这个API函数也可以得到更详细的信息
    下面这个函数不是我写的,你可以参考
    function GetVersion:OSType;
    var
      OSversion:TOSVersioninfo;
    begin
      OSversion.dwOSVersionInfoSize:=Sizeof(OSversion);
      GetVersionEx(OSversion);
      result:=OSUnKnown;
      Case OSversion.dwPlatformId of
        VER_PLATFORM_WIN32s:result:=OSWin31;
        VER_PLATFORM_WIN32_NT:
        begin
          case OSversion.dwMajorVersion of
            3:result:=OSWinNT3;
            4:result:=OSWinNT4;
            5:begin
              if OSversion.dwMinorVersion=1 then
                result:=OSWinXP
              else
                result:=OSWin2K;
              end;
          end;
        end;
        VER_PLATFORM_WIN32_WINDOWS:
        begin
          case OSVersion.dwMinorVersion of
            0:
            begin
              if (Trim(OSversion.szCSDVersion)='B') then
                result:=OSWin95R2
              else
                result:=OSWin95;
            end;
            10:
            begin
              if (Trim(OSversion.szCSDVersion)='A') then
                result:=OSWin98SE
              else
                result:=OSWin98;
            end;
            90:result:=OSWinMe;
          end;
        end;
      end;
    end;
      

  2.   

    http://community.csdn.net/Expert/topic/3184/3184817.xml?temp=.782818