Sör*_*lau 15 c# winapi .net-4.0 windows-10
我们正在检测统计数据的OS版本.从Windows 8.1开始,操作系统在使用时"谎称"其版本GetVersion
.但是,从.NET 4.5.1开始System.Environment.OSVersion
仍然调用此API.因此,我们在清单中添加了8.1的GUID,效果很好.
现在,我想为Windows 10做同样的准备.这个GUID是否已知?
(编辑)P /调用VerSetConditionMask和VerifyVersionInfo来检查6.4或更高版本似乎确实有效.
小智 24
<!-- This Id value indicates the application supports Windows Threshold functionality-->
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
Run Code Online (Sandbox Code Playgroud)
资料来源:http://social.msdn.microsoft.com/Forums/azure/en-US/07cbfc3a-bced-45b7-80d2-a9d32a7c95d4/supportedos-manifest-for-windows-10?forum=windowsgeneraldevelopmentissues
其他操作系统上下文的其他 GUID:
操作系统 | 获取版本信息 | 支持的操作系统 ID |
---|---|---|
视窗 10 | 10.0* | <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/> |
视窗 8.1 | 6.3 | <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/> |
视窗 8 | 6.2 | <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/> |
Windows 7的 | 6.1 | <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/> |
视窗Vista | 6.0 | <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/> |
视窗 XP | 5.1 | 不适用 |
视窗 2000 | 5.0 | 不适用 |
视窗 NT 4 | 4.0 | 不适用 |
视窗 NT 3.51 | 3.51 | 不适用 |
视窗 NT 3.1 | 3.1 | 不适用 |
* 在构建 9926 之前是 6.4。在构建 9926 之后它报告 10.0
维护这些值的文档的页面:
在 Windows 10 上运行时
操作系统上下文 | 获取版本信息 |
---|---|
视窗Vista | 6.2 |
Windows 7的 | 6.2 |
视窗 8 | 6.2 |
视窗 8.1 | 6.3 |
视窗 10 | 10.0 |