首先得知道操作系统和主次版本的对应关系
我们可以用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).
现在需要一个程序清单文件
现在就可以判断系统了。如果以前添加过,可能会需要重新添加一次才可以正常使用。
当然,这个文件最好放在: