【问题标题】:Enumerating USB Devices on Windows with Java使用 Java 在 Windows 上枚举 USB 设备
【发布时间】:2008-12-18 17:47:11
【问题描述】:

在之前的 SO question 中,提到可以在 Windows 中使用以下方法挂载 USB 设备:

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

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

如果可能的话,我也有兴趣使用 JNA。

【问题讨论】:

    标签: java windows usb


    【解决方案1】:

    您也不能捆绑 Java“...运行时而不将其物理安装在机器上...”。

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

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

    编辑:关于 JVM 安装的说明...

    很好的一点——JVM 安装比 .NET 安装侵入性要小得多,因为后者必须与操作系统集成,而前者只能与操作系统集成。所以,是的,包括一个私有 JVM 安装是可行的,也许是可取的。

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

    【讨论】:

    • 我可能是错的,但我记得看到许多程序在其安装目录中“捆绑”了 JRE,而无需我完成 JRE 安装过程。不管我是否已经安装了 Java,他们都会这样做,这就是我所指的。
    • 另外,我(还)不关心安装设备,我现在对发现过程更感兴趣。我正在做一些研究,当我发现更多信息时会更新。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-14
      • 1970-01-01
      • 2012-04-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多