首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在windows中获取os名称、版本?

如何在windows中获取os名称、版本?
EN

Stack Overflow用户
提问于 2011-05-23 01:39:35
回答 1查看 3.6K关注 0票数 3

哪一个在以下几个方面更好得到操作系统的名称,操作系统的版本在windows -

在所有windows操作系统中获得information

  • compatibility的时间,如xp、vista和更高的

系统信息还是命令?我想避免在C中使用OSVersionInfoEx,因为它必须硬编码营销名称检测,如果引入新的windows风格,将增加维护工作。请分享你的意见。

EN

回答 1

Stack Overflow用户

发布于 2011-05-23 07:17:52

GetVersionEx -得到一个基本的os版本号,你不能比这个更快。但是您是对的,您将无法将操作系统的新版本映射到正确的字符串。你有没有考虑过这样做:

代码语言:javascript
复制
OSVERSIONINFOEX version = {};
char szOS[MAX_OS_LENGTH];

version.dwOSVersionInfoSize = sizeof(version);
GetVersionEx((OSVERSIONINFO*)&version);

if (MyFunctionToMapVersionToString(&version, szOS) == false)
{
    sprintf(szOS, "Microsoft Windows %d.%d", version.dwMajorVersion, version.dwMinorVersion);
}

WMI -编写更多代码。但是,您很可能只是在应用程序启动时(或需要时)这样做,并在再次需要信息时缓存结果。这不像操作系统的产品名称会改变后,应用程序已经查询了一次。)关于向后兼容性,我相信它在旧操作系统上运行得很好.但是你要在把它运给客户之前对它进行测试,对吗?

如果您想要一种无文档的方式,就会有一个注册表项,其中包含您想要的内容:

代码语言:javascript
复制
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion ("ProductName")
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6092044

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档