2008-12-18 76 views
1

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

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

我的问题是以\\?\ Volume开头的字符串是什么,以及检索该字符串的最佳方法是什么。如果可能的话,我宁愿不要使用.NET,因为就我所知,如果不在计算机上实际安装它,就无法“捆绑”.NET运行时。

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

回答

1

无法将Java“... runtime运行时未实际安装到机器上......”。

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

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

编辑:JVM上安装澄清...

良好的出发点 - 一个JVM的安装可以比安装.NET得多创伤更小,因为后者必须与操作系统整合,而前者只可以与整合OS。所以,是的,包括私人的JVM安装是可行的,也许是可取的。

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

+0

我可能是错的,但我记得看到很多程序在他们的安装目录中“捆绑”JRE,而无需通过JRE安装过程。无论我是否已经安装了Java,他们都这样做了,这就是我所指的。 – 2008-12-18 19:56:17

0

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