C++获取win10版本号为啥是6.2

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++获取win10版本号为啥是6.2相关的知识,希望对你有一定的参考价值。

在搜索一会儿之后,发现这是微软故意做的设定,GetVersionEx函数可能在Win8.1之后会取消,推荐程序员们使用Version Helper APIs ,所以在8.1之后的系统中此函数的行为改变了,如果程序没有加上正确的manifested以表明此程序兼容新系统,则只能得到6.2这个版本号。 参考技术A 右下角有水印的,现在最新的是9926,it之家 和 软媒win10之家有各种资讯 要不你右键开始菜单,打开命令提示符就看到上面的显示了, 或者你输入 winver 命令 就能刚看到了 参考技术B 需要在exe上的资源里添加一个附加清单,内容为以下则可正常获取版本:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
<!--<assemblyIdentity type="win64" name="Contoso.ExampleApplication.ExampleBinary" version="1.2.3.4" processorArchitecture="AMD64"/>-->
<description>LibaBase Test Application</description>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<!-- Windows 10 -->
<supportedOS Id="8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a"/>
<!-- Windows 8.1 -->
<supportedOS Id="1f676c76-80e1-4239-95bb-83d0f6d0da78"/>
<!-- Windows Vista -->
<supportedOS Id="e2011457-1546-43c5-a5fe-008deee3d3f0"/>
<!-- Windows 7 -->
<supportedOS Id="35138b9a-5d96-4fbd-8e2d-a2440225f93a"/>
<!-- Windows 8 -->
<supportedOS Id="4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38"/>
</application>
</compatibility>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="asInvoker" uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
主要是因为win10使用了manifest.xml,而旧版本不支持,也就是底子改了
参考技术C 6.2 是内核版本

~
~
~

以上是关于C++获取win10版本号为啥是6.2的主要内容,如果未能解决你的问题,请参考以下文章

windows10版本号怎么查看

Win10各版本如何区分

怎么查看系统版本号?

iOS 版本号Version和Build的区别

C++ 获取系统版本号

怎样查看Android手机系统版本号?