架构师_程序员

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 109|回复: 0

[控制台程序] C# 判别系统版本以及Win10的识别办法

[复制链接]
跳转到指定楼层
楼主
发表于 2019-10-23 09:15:45
zu
我们都知道在C#中可以通过Environment.OSVersion来判断当前操作系统,下面是操作系统和主次版本的对应关系:

操作系统
主版本.次版本
Windows 1010.0*
Windows Server 2016 Technical Preview10.0*
Windows 8.16.3*
Windows Server 2012 R26.3*
Windows 86.2
Windows Server 20126.2
Windows 76.1
Windows Server 2008 R26.1
Windows Server 20086
Windows Vista6
Windows Server 2003 R25.2
Windows Server 20035.2
Windows XP 64-Bit Edition5.2
Windows XP5.1
Windows 20005

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

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

  3. public static bool IsWin10 => Environment.OSVersion.Version.Major == 10;
复制代码
但是,当你在win10操作系统上使用这个函数是会得到这样的结果:6.2.9200.0,而不是我们期待的10.0.***

问题是Win10下获取的值可能不是10,说明地址: https://docs.microsoft.com/zh-cn/windows/win32/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). To manifest your applications for Windows 8.1 or Windows 10, refer to Targeting your application for Windows.
现在需要一个程序清单文件



然后把下面的注释去掉,就可以返回10.0.***了





还有另外一种方法如下。

利用C#判断当前操作系统是否为Win8系统(此方法不需要添加程序清单文件)

代码:

  1. using System;
  2.   
  3. namespace GetOSVersionExp
  4. {
  5.   class Program
  6.   {
  7.     static void Main(string[] args)
  8.     {
  9.       Version currentVersion = Environment.OSVersion.Version;
  10.       Version compareToVersion = new Version("6.2");
  11.       if (currentVersion.CompareTo(compareToVersion) >= 0)
  12.       {//win8及其以上版本的系统
  13.         Console.WriteLine("当前系统是WIN8及以上版本系统。");
  14.       }
  15.       else
  16.       {
  17.         Console.WriteLine("当前系统不是WIN8及以上版本系统。");
  18.       }
  19.     }
  20.   }
  21. }
复制代码
(完)




上一篇:微信小程序开发零基础入门
下一篇:菜鸟学存储入门篇:了解网络存储的基本常识
帖子永久地址: 

架构师_程序员 - 论坛版权1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关
2、本站所有主题由该帖子作者发表,该帖子作者与架构师_程序员享有帖子相关版权
3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和架构师_程序员的同意
4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
7、架构师_程序员管理员和版主有权不事先通知发贴者而删除本文

码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|Archiver|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2019-11-17 19:05

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表
即时比分新浪