首先得知道操作系統和主次版本的對應關系
我們可以用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).
現在需要一個程序清單文件
現在就可以判斷系統了。如果以前添加過,可能會需要重新添加一次才可以正常使用。
當然,這個文件最好放在: