我打算编写代码来确定操作系统是否是 Windows XP,所以我可以设置 LOCALAPPDATA 环境变量来解决大量使用 ExpandEnvironmentVariables() 的代码。
为了让它更有趣,有些代码是用 VB6 编写的,有些代码是用 C# 4.0 编写的。查看 GetVersionEx() 的文档,强烈建议从 Windows 8.1 开始不推荐使用此 API 调用。但没问题,我可以使用一组不同的 API 调用 (VerifyVersionInfo / VerSetConditionMask)。使用 VB6,别无选择——我必须使用 API 调用。
但是,对于我的 C# 代码,似乎没有明显的等价物。有Environment.OSVersion,但这似乎是一组来自不同来源的数据,并且没有任何VerifyVersionInfo() API 的微妙之处。
此 API 调用是否有包装器。如果没有,我是否应该自己实施它?
[已添加] 或者,也许有人可能有一些关于Environment.OSVersion 是如何实现的内部信息?