我已经看到一些例子来做到这一点,但是Vista / 7操作系统没有更新.
另外,检测操作系统是否在x32或x64架构上运行将是有用的.
提前致谢.
TOSVersion
.
>读取TOSVersion.Architecture以检查32或64位操作系统.
>阅读TOSVersion.Platform来检查Windows或Mac.
>阅读TOSVersion.Major和TOSVersion.Minor的版本号.
>读取TOSVersion.Name以获得基本的产品名称,例如Windows 7的.
>阅读TOSVersion.ToString以获得版本的完整产品名称,例如Windows 7 Service Pack 1(版本6.1,Build 7601,64位版本).
对于旧版本的Delphi,我推荐以下内容:
为了检查2000,XP,Vista,7我建议你阅读Win32MajorVersion
和Win32MinorVersion
.
> major.minor = 5.0 => Windows 2000
> major.minor = 5.1 => Windows XP
> major.minor = 5.2 => Windows 2003服务器或XP64
> major.minor = 6.0 => Windows Vista / 2008服务器
> major.minor = 6.1 => Windows 7/2008服务器R2
相同的信息可用于MSDN,但上述来自我的头!
如果您想要非常详细的产品信息,那么需要更多的工作.沃伦的回答为获得这些信息提供了一条很好的途径.如果你想要测试能力,那么版本号是好的.
使用CheckWin32Version
检查当前的操作系统是否超过某一版本级别.虽然您应该检查该函数在Delphi中是否正常工作,因为在Delphi 6及更早版本中该函数的实现是不正确的.
要了解本机操作系统架构(32或64位),请使用GetNativeSystemInfo
功能.此功能在较旧的操作系统上不可用,因此您应该使用GetProcAddress显式加载它.测试wProcessorArchitecture = PROCESSOR_ARCHITECTURE_AMD64以检查64位操作系统.