如何确定计算机是否正在运行XP Service Pack 3

使用registry或文件系统。 限制的原因是我作为一个MSI条件声明。

干杯!

在注册表项下

HKLM \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion

寻找密钥对:

CurrentVersion = Microsoft Windows NT 5.1.2600 Service Pack 3

您应该在以下注册表项中找到足够的信息来确定OS Service Pack(最糟糕的情况下,您始终可以使用构建字符串):

HKLM\Software\Microsoft\Windows NT\CurrentVersion 

如果您使用的是MSI,则应该能够在条件语句中使用VersionNTServicePackLevel属性。

例如。 以下代码检查Windows XP sp3或更高版本:

 VersionNT=501 And ServicePackLevel>2 

如果还需要内部版本号,也可以检查WindowsBuild属性。

VerifyVersionInfo函数应该允许您检查正在运行的Windows版本是否符合您的应用程序的要求,而没有使用GetVersionEx检查确切版本时可能发生的问题(例如打破主要版本更改 – 您的应用程序很可能在Vista上运行,和Windows 7,以及未来的版本尚未开发)。

“运行”(Windows键+ r或启动/运行)msinfo32或sysdm.cpl