Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何通过USB端口检测硬件设备是否已从我的电脑上拔下_Java_C++_C_Windows - Fatal编程技术网

Java 如何通过USB端口检测硬件设备是否已从我的电脑上拔下

Java 如何通过USB端口检测硬件设备是否已从我的电脑上拔下,java,c++,c,windows,Java,C++,C,Windows,目前的努力: 1,hidapi-1.1.jar 2、GetRawInputDeviceList 由于某种原因,我的应用程序中的hidapi-1.1.jar被中止 GetRawInputDeviceList在Win10中不稳定 我想知道有没有其他方法可以达到我的目标? 操作系统是windows,编程语言不受限制。您可以使用libusb中的热插拔事件通知API。文件如下: 简而言之,此API允许您的程序在设备连接或断开连接时获得回调,并允许您仅过滤您关心的设备(请参见libusb\u hotplug

目前的努力: 1,hidapi-1.1.jar 2、GetRawInputDeviceList

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

GetRawInputDeviceList在Win10中不稳定

我想知道有没有其他方法可以达到我的目标?
操作系统是windows,编程语言不受限制。

您可以使用
libusb
中的热插拔事件通知API。文件如下:

简而言之,此API允许您的程序在设备连接或断开连接时获得回调,并允许您仅过滤您关心的设备(请参见
libusb\u hotplug\u register\u callback


请注意,并非所有操作系统都支持热插拔API;如果不是,您将不得不退回到使用
libusb\u get\u device\u list

枚举设备,实际上SetupDiGetDeviceInstanceId可以用来监视它。详情请参阅。< /P>您所寻找的解决方案是针对USB设备单独使用的?为什么用java、C++、C和WiFrase:@ HaZeelnutTee标记?是的,只用于usb设备。@MarkRotteveel。很抱歉,winforms已更改为windows。我的应用程序中的主要语言是java,所以最好有一个java解决方案。如果解决方案是使用c/c++,我也可以通过JNI调用它。为了让更多的人阅读这个问题,我使用了这些标签。谢谢你的帮助。但是,我们的应用程序中不允许使用LGPL许可证。也许我应该找到另一种方法。