Delphi怎么获取系统版本号是windowsXP还是Win7

Delphi如何获取系统版本号是windowsXP还是Win7
用win32majorversion获取系统的主版本号,为何不太稳定,在一个程序中获取的win7企业版的主版本号是6,但是在另一个程序里面获取的是5,都是在win7企业版里面运行的,难道这个有记忆功能?
------解决思路----------------------
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion

Win7           6.1.7600

Win7sp1     6.1.7601

Win8          6.2.9200

Win8.1       6.3.9600
------解决思路----------------------
XE2之后多了 TOSVersio.
TOSVersion.Architecture 可检查是32或64bit
TOSVersion.Platform检查win或mac
TOSVersion.Major、 TOSVersion.Minor版本号
TOSVersion.Name取得产品名称像Windows 7
TOSVersion.ToString完整产品名称Windows 7 Service Pack 1 (Version 6.1, Build 7601, 64-bit Edition).