C# 判别系统版本以及Win10的识别办法

首先得知道操作系统和主次版本的对应关系

我们可以用Environment.OSVersion来判断当前操作系统

public static bool IsWin7 => Environment.OSVersion.Version.Major == 6
                       && Environment.OSVersion.Version.Minor == 1;

public static bool IsWin10 => Environment.OSVersion.Version.Major == 10;

问题是Win10下获取的值可能不是10,在https://docs.microsoft.com/zh-cn/windows/desktop/SysInfo/operating-system-version有几行说明了原因

* For applications that have been manifested for Windows 8.1 or Windows 10. Applications not manifested for Windows 8.1 or Windows 10 will return the Windows 8 OS version value (6.2)

现在需要一个程序清单文件

现在就可以判断系统了。如果以前添加过,可能会需要重新添加一次才可以正常使用。

 当然,这个文件最好放在:

 

posted @ 2018-09-27 11:09  樱花落舞  阅读(4492)  评论(0编辑  收藏  举报