java - 如何检测硬件设备是否已通过 USB 端口插入或拔出我的 PC

标签 java c++ c windows

目前的努力: 1、hidapi-1.1.jar 2、获取RawInputDeviceList

hidapi-1.1.jar 由于某种原因在我的应用程序中中止。

GetRawInputDeviceList 在 Win10 中不稳定,引用 https://stackoverflow.com/questions/32419314/getrawinputdevicelist-and-getrawinputdeviceinfo-fail-to-work-in-win10

我想知道还有其他方法可以实现我的目标吗? 操作系统为windows,编程语言不限。

最佳答案

您可以使用 libusb 中提供的热插拔事件通知 API。文档在这里:http://libusb.sourceforge.net/api-1.0/hotplug.html

简而言之,只要设备连接或断开连接,此 API 就可以让您的程序获得回调,并让您仅筛选您关心的设备(请参阅 libusb_hotplug_register_callback)。

请注意,并非所有操作系统都支持热插拔 API;如果不是,您将不得不使用 libusb_get_device_list 枚举设备。

关于java - 如何检测硬件设备是否已通过 USB 端口插入或拔出我的 PC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32433719/

相关文章:

c++ - 重构 'execute and log'模式

java - Spring - Maven |贾斯珀依赖

android - C++ - 具有类函数引用的模板无法在 Android 上编译

java - Spring Web Socket Java 客户端

c++ - 从 USBPcap 库读取原始数据

c++ - 与 Minecraft bukkit 服务器握手 - 发送服务器主机字段失败

c - 使用指针的 C 代码中的段错误(核心转储)

c - 为什么不打印硬币数量?

java - 从另一个 Fragment 获取值,然后将 Items 添加到自定义 recyclerview

java - 为已实例化的子类对象初始化父类(super class)值