gpt4 book ai didi

c# - GetVersionEx() 已弃用 : should I use Environment. OSVersion?

转载 作者:太空狗 更新时间:2023-10-30 01:20:29 26 4
gpt4 key购买 nike

我打算编写代码来确定操作系统是否为 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 是如何实现的内部信息?

最佳答案

首先,理解Deprecated 的含义很重要。这意味着该功能要么严重损坏(例如某些早期线程),要么已被新功能取代(替换)。在这种情况下是后者。

来自 GetVersionEx function 上的文档有一个链接建议使用 Version Helper APIs相反。

此页面的一部分特别重要:

Note These APIs are defined by versionhelper.h, which is included in the Windows 8.1 Preview software development kit (SDK). This file can be used with other Microsoft Visual Studio releases to implement the same functionality for Windows versions prior to Windows 8.1 Preview.

关于c# - GetVersionEx() 已弃用 : should I use Environment. OSVersion?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18918858/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com