繁体   English   中英

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

[英]How can I detect whether a hardware device has been plugged or unplugged from my PC through USB port

当前努力:1、hidapi-1.1.jar 2、GetRawInputDeviceList

由于某种原因,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使用libusb_get_device_list枚举设备。

实际上可以使用SetupDiGetDeviceInstanceId来监控它。 有关详细信息,请参阅https://msdn.microsoft.com/en-us/library/windows/hardware/ff551106(v=vs.85).aspx

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM