【发布时间】:2016-08-10 11:02:27
【问题描述】:
我想使用 java 或 C# 获取带有版本的操作系统名称,如下例所述:
示例:Microsoft Windows 8.1 企业版
我在下面尝试过:
在java中试过
System.getProperty("os.name")=> 不提供操作系统版本一种方法是从注册表中获取操作系统名称 从
\HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion获取“ProductName”我也尝试了 SYSTEMINFO 命令,它提供了操作系统名称。但因为它显示输出不同的语言。无法从输出中检查变量名。
但我想找到一种方法,而不是从注册表中查找,这样即使在未来版本的操作系统中,注册表路径发生变化,App 也应该提供正确的操作系统名称。
有没有其他可靠的方法来查找带有版本的操作系统名称?
【问题讨论】:
-
在 Java 中,不是真的,不是...除非某个地方的某个人开发了一个涵盖所有可能情况的本机库。
-
我意识到这并没有好多少,但
systeminfo /nh /fo csv将始终(我认为)将操作系统名称输出为第二个逗号分隔值。至少它不依赖于特定于语言环境的标头。
标签: java operating-system registry