使用Java在Windows上枚举USB设备

时间:2008-12-18 17:47:12

标签: java windows usb

在之前的SO问题中,有人提到可以在Windows中使用以下方法安装USB设备:

MOUNTVOL C:\ USB:\\?\ Volume {ebc79032-5270-11d8-a724-806d6172696f} \

我的问题是什么是字符串以\\?\ Volume调用开始,以及检索它的最佳方法是什么。如果可能的话,我宁愿不使用.NET,因为据我所知,如果没有将它实际安装在机器上,你就无法真正“捆绑”.NET运行时。

如果可能的话,我也会对使用JNA感兴趣。

2 个答案:

答案 0 :(得分:1)

您无法捆绑Java“...运行时而无需在机器上进行物理安装......”。

安装后安装设备应该很简单。实际安装设备不应该是直截了当的,因为Java(和.NET)都旨在抽象出硬件。

我建议您为此选择一个更合适的工具。要么选择简单地调用另一个进程来运行mount命令(知道它不可移植),要么选择一个不抽象硬件的工具,或者至少不那么抽象(可能是Python?)。

编辑:关于JVM安装的澄清......

非常好的一点 - JVM安装可以比.NET安装更具侵入性,因为后者必须与操作系统集成,而前者只能与操作系统集成。所以,是的,包括私有JVM安装是可行的,也许是可取的。

注意:问题包括USB设备的mount命令,它倾向于强调该方面作为主要要求。

答案 1 :(得分:0)

您在寻找什么样的USB设备?您引用的位仅适用于USB磁盘驱动器,而不适用于USB设备。