如何在.net中检测Windows操作系统版本?
我可以使用什么代码?
我正在寻找一种方法来检测我的C#应用程序是否在Windows 10上运行.
我曾希望Environment.OSVersion会做的伎俩,但这似乎返回Version的6.3.9600.0在Windows 8.1和Windows 10.
如其他解决方案,这似乎并没有的Windows 8和Windows 10之间进行区分两种.
有什么建议?
为什么我需要这样做?
因为我使用WinForms WebBrowser控件来托管OAuth页面,该页面在旧的IE版本中崩溃并烧毁(我的应用程序连接到用户的Nest帐户 ......).
默认情况下,WebBrowser控件模拟IE7.使用注册表项,您可以告诉它模拟主机PC上安装的最新版本的IE.然而,该工作值高达8.1的Windows(和Windows 10的预发行版)无法在Windows 10的最终版本.
我目前正在开发一个C#项目.我想收集用户统计信息以更好地开发软件.我正在使用Environment.OSC#的功能,但它只显示操作系统名称,如Microsoft Windows NT
我希望能够检索的是操作系统的实际已知名称,例如是否Windows XP, Windows Vista or Windows 7等等.
这可能吗?
看来,引用Windows的"版本"一词用于不同的事情.例如,在Windows 10"周年更新"是由微软(标记为"1607版" 这里的例子).但是,如果我尝试使用以下代码获取"版本"(在安装了周年纪念更新的PC上),则不会返回任何看起来像"1607"的内容.
// Get Version details
Version ver = os.Version;
Console.WriteLine("Major version: " + ver.Major);
Console.WriteLine("Major Revision: " + ver.MajorRevision);
Console.WriteLine("Minor version: " + ver.Minor);
Console.WriteLine("Minor Revision: " + ver.MinorRevision);
Console.WriteLine("Build: " + ver.Build);
Run Code Online (Sandbox Code Playgroud)
我明白了:
Major version: 6
Major Revision: 0
Minor version: 2
Minor Revision: 0
Build: 9200
Run Code Online (Sandbox Code Playgroud)
如何获得"版本1607"中的Windows 10"版本"?
谢谢!