在之前的 SO question 中,提到可以在 Windows 中使用以下方法安装 USB 设备:
MOUNTVOL C:\USB: \\?\卷{ebc79032-5270-11d8-a724-806d6172696f}\
我的问题是以 \\?\Volume 开头的字符串是什么,以及检索它的最佳方法是什么。如果可能的话,我宁愿不使用 .NET,因为据我所知,如果不将 .NET 运行时物理地安装在机器上,就无法真正“捆绑”它。
如果可能的话,我也会对使用 JNA 感兴趣。
您也不能捆绑 Java“...运行时而不将其物理安装在机器上...”。
安装后枚举设备应该很简单。实际上安装设备不应该是简单的,因为 Java(和 .NET)都是为了抽象硬件而设计的。
我建议您为此选择更合适的工具。要么选择简单地调用另一个进程来运行 mount 命令(知道它不会是可移植的),要么选择一个不会抽象出硬件的工具,或者至少不那么抽象(也许是 Python?)。
编辑:关于 JVM 安装的说明...
很好的一点——JVM 安装比 .NET 安装侵入性要小得多,因为后者必须与操作系统集成,而前者只能与操作系统集成。所以,是的,包括私有 JVM 安装是可行的,也许是可取的。
注意:该问题包括 USB 设备的挂载命令,该命令倾向于强调该方面是主要要求。
您在寻找什么样的 USB 设备?您引用的位仅适用于 USB 磁盘驱动器,而不适用于一般的 USB 设备。