winversion.iss 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. [Code]
  2. var
  3. WindowsVersion: TWindowsVersion;
  4. procedure initwinversion();
  5. begin
  6. GetWindowsVersionEx(WindowsVersion);
  7. end;
  8. function exactwinversion(MajorVersion, MinorVersion: integer): boolean;
  9. begin
  10. Result := (WindowsVersion.Major = MajorVersion) and (WindowsVersion.Minor = MinorVersion);
  11. end;
  12. function minwinversion(MajorVersion, MinorVersion: integer): boolean;
  13. begin
  14. Result := (WindowsVersion.Major > MajorVersion) or ((WindowsVersion.Major = MajorVersion) and (WindowsVersion.Minor >= MinorVersion));
  15. end;
  16. function maxwinversion(MajorVersion, MinorVersion: integer): boolean;
  17. begin
  18. Result := (WindowsVersion.Major < MajorVersion) or ((WindowsVersion.Major = MajorVersion) and (WindowsVersion.Minor <= MinorVersion));
  19. end;
  20. function exactwinspversion(MajorVersion, MinorVersion, SpVersion: integer): boolean;
  21. begin
  22. if exactwinversion(MajorVersion, MinorVersion) then
  23. Result := WindowsVersion.ServicePackMajor = SpVersion
  24. else
  25. Result := true;
  26. end;
  27. function minwinspversion(MajorVersion, MinorVersion, SpVersion: integer): boolean;
  28. begin
  29. if exactwinversion(MajorVersion, MinorVersion) then
  30. Result := WindowsVersion.ServicePackMajor >= SpVersion
  31. else
  32. Result := true;
  33. end;
  34. function maxwinspversion(MajorVersion, MinorVersion, SpVersion: integer): boolean;
  35. begin
  36. if exactwinversion(MajorVersion, MinorVersion) then
  37. Result := WindowsVersion.ServicePackMajor <= SpVersion
  38. else
  39. Result := true;
  40. end;
  41. [Setup]