使用注册表或文件系统。限制的原因是我这样做是作为MSI条件语句。
干杯!
答案 0 :(得分:5)
在注册表项
下HKLM \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion
寻找密钥对:
CurrentVersion = Microsoft Windows NT 5.1.2600 Service Pack 3
答案 1 :(得分:4)
您应该找到足够的信息来确定以下注册表项中的OS Service Pack(在最坏的情况下,您始终可以使用构建字符串):
HKLM\Software\Microsoft\Windows NT\CurrentVersion
答案 2 :(得分:2)
如果您使用的是MSI,则应该可以在条件语句中使用 VersionNT 和 ServicePackLevel 属性。
例如。以下代码检查Windows XP sp3或更高版本:
VersionNT=501 And ServicePackLevel>2
如果您还需要内部版本号,也可以查看 WindowsBuild 属性。
答案 3 :(得分:1)
VerifyVersionInfo函数应该允许您检查正在运行的Windows版本是否符合您的应用程序的要求,而没有检查GetVersionEx的确切版本时可能发生的陷阱(例如打破主要版本)版本更改 - 您的应用程序很可能在Vista和Windows 7以及尚未开发的未来版本上运行。
答案 4 :(得分:-1)
"运行" (Windows键+ r或启动/运行)msinfo32或sysdm.cpl