首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用Oshi库获取Windows的硬件和操作系统信息

使用Oshi库获取Windows的硬件和操作系统信息
EN

Stack Overflow用户
提问于 2020-07-27 12:12:35
回答 2查看 1.2K关注 0票数 2

我无法在Windows上运行我的Java应用程序。基本上,我的应用程序获取硬件数据和操作系统信息。为此,我使用Oshi库,但Oshi使用的是JNA库,它不断崩溃。

注意:我的应用程序在任何其他操作系统上运行良好,但无法在Windows上运行。我使用的代码如下:

代码语言:javascript
代码运行次数:0
运行
复制
HardwareAbstractionLayer hal = si.getHardware();
OperatingSystem os = si.getOperatingSystem();

hal.getComputerSystem();

任何帮助都将不胜感激。

EN

回答 2

Stack Overflow用户

发布于 2020-07-27 19:29:13

我是OSHI的作者/主要维护者,也是JNA的提交人。JNA平台类不区分Windows和Windows。OSHI的代码依赖于标准的版本帮助API来确定操作系统对DLL函数的支持。但是,Windows并不表示为单独的版本。

事实上,Windows并不是设计成一个独立的操作系统。它的用途(和授权用途)非常有限。来自Windows PE文档 (重点雷):

Windows不是一个通用的操作系统.除部署和恢复以外,不得用于任何其他用途。

此外,

为了防止作为生产操作系统使用,Windows自动停止运行外壳程序,并在连续使用72小时后重新启动。

本质上,Windows 10 API中的一些功能在PE中不存在。来自这些微软文档

API兼容性参考 Windows PE是一个轻量级的引导操作系统,它基于Windows操作系统中的一个组件子集。它旨在承载部署和恢复应用程序。因此,它包含了许多Windows二进制文件,这些二进制文件是托管对这些应用程序类最重要的app所必需的。由于大小和其他设计限制,Windows中并不存在所有的二进制文件,因此并不是所有的Windows都存在或可用的

这是WinPE的一个特性,而不是一个bug。

OSHI被设计成一个跨平台的图书馆来提供信息。它不是一个“部署和恢复”应用程序。OSHI链接(通过JNA)到标准Windows (如Kernel32 ),而WinPE有它的拥有一组MinCore DLL

Windows PE非常轻量级,非常特定于Windows操作系统系列,非常特定于部署和恢复任务。

您可能应该使用命令行或Powershell工具来获取“部署和恢复”( WinPE的唯一授权用途)所需的操作系统和硬件信息。OSHI的ExecutingCommand类是一个很好的实用类,用于将命令行响应作为Java处理,欢迎您在您自己的Java项目中进行复制和使用,而不需要整个OSHI/JNA依赖项的开销。

如果您可以指定"JNA正在崩溃“的特定点,我可以帮助您确定处理可能引发的任何异常的方法。或者,您可以在OSHI项目中提交一个问题/特性请求,以识别这些故障,以使其对PE环境更加健壮,尽管“更健壮”可能以“避免崩溃”的形式出现,而不是提供WinPE中Windows无法提供的信息。最后,您可以选择提出您的问题,以便在JNA邮件列表上进行扩展讨论。

票数 6
EN

Stack Overflow用户

发布于 2020-07-27 12:39:30

据我所知,Oshi不支持Windows:

  • Oshi FAQ没有提到Windows作为支持。对于Windows,它列出: 窗户7及更高。(几乎所有功能都在Vista上工作,大多数功能都在Windows上工作。)
  • 我在Oshi问题跟踪器中没有发现提到Windows的问题
  • 当我在谷歌上搜索"oshi windows pe“时,没有任何相关信息出现。
  • 代码库中有一个属性文件,它将Windows映射到名称。它没有提到任何Windows版本号。
  • JNA库文档没有提到Windows。

这些事实都不是决定性的,但综合起来,他们描绘了一个清晰的画面。

这并不是说Oshi不能支持Windows。但是要取得一些进展,你需要提供更多的细节;例如,告诉我们它是如何崩溃的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63115077

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档