问题描述
我在某些.dll
项目中将usblib用作Qt
-应用程序的目标操作系统目前为Windows 10
。我试图用鼠标打开通信通道,并向其发送更改其RGB LED diode
颜色的命令。使用相同的命令已在Linux
中成功完成了该任务(出于测试目的)。该命令本身已使用Wireshark
标识。所以,这是代码:
MouseDriver::MouseDriver(QObject* parent,libusb_context* sessionContext,const struct libusb_device_descriptor& deviceDescriptor)
: QObject(parent),sessionContext(sessionContext),deviceHandle(Q_NULLPTR),deviceDescriptor(deviceDescriptor)
{
qDebug() << Q_FUNC_INFO
<< "Mouse driver instantiated,establishing communication";
this->deviceHandle=libusb_open_device_with_vid_pid(this->sessionContext,MOUSE::DEVICE_VID,MOUSE::DEVICE_PID);
if(this->deviceHandle==Q_NULLPTR)
{
// error opening device
qDebug() << Q_FUNC_INFO
<< "Could not establish communication with device";
}
else
{
// device opened
qDebug() << Q_FUNC_INFO
<< "Communication with device established";
this->slotSwitchToColor(0x00,0x00,0xff);
} // if
}
在libusb_open_device_with_vid_pid通话之后,我收到以下警告:
[0.052859] [00000e6c] libusb:警告[hid_open]无法打开HID R / W模式下的设备(键盘还是鼠标?)-尝试不使用
,我认为这是通过libusb_interrupt_transfer发送命令的原因(正如我在Linux
下成功实现的),我得到LIBUSB_ERROR_IO
。我还读过Windows获得USB鼠标和键盘的独占访问权的地方,但是如果是这样,原始鼠标配置应用程序如何工作?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)