我正在使用GetRawInputDeviceInfo获取USBHID设备名称的设备名称。出于某种原因,当我在WindowsXP下运行我的代码时,我得到一个以\??\开头的设备名称而不是\\?\.这当然意味着,当我尝试使用此设备名称(例如CreateFile)时,它不起作用。如果我编辑设备名称并手动将其修复为\\?\,一切正常。这在Windows7中不会发生。在Win7中一切正常。我还测试了GetLastError每次API调用后都没有发生错误。我所有的操作系统都是32位的,我的项目是用unicode编译的。有什么建议我做错了吗?这是我的控制台应用程序的代码片段,它获取设备名称。nR
我有一些可以处理各种USB接口(interface)(COMM仿真、HID键盘、HIDPOS等)的条码扫描仪设备。问题是,虽然我可以判断设备是否处于HID模式,我需要能够确定它是HID键盘还是HIDPOS。有没有办法使用Win32C++确定这一点,最好使用内置的WindowsHID库(hidsdi.h)? 最佳答案 您可以使用HidD_GetHidGuid获取设备的唯一GUID。设备接口(interface)guid由每个设备/应用程序软件供应商、Microsoft或他们认为合适的第三方定义。在某些情况下,guid已发布并为公众所知
如何从Windows中的HID设备获取原始描述符数据?背景:我需要从Windows中的HID设备获取制造商、产品名称和序列号。我正在使用hid.dll访问使用functionsseenhere的设备.我的问题很相似tothisone.我能够从某些HID设备获取制造商字符串和产品字符串,但大多数无法返回此数据,HidD_GetManufacturerString返回false。但是,我知道这些设备的描述符中确实有字符串信息,因为我能够看到它usingUSBTreeView.有趣的是,即使对于返回制造商和产品名称的设备,我通过hid.dll获得的值与我使用上述从USB获取原始数据的工具看到
有多种方法可以检索HID设备的Windows“设备名称”,GetRawInputDeviceInfoRIDI_DEVICENAME是一种方法。给定示例名称:\?\HID#VID_FEED&PID_DEAD#6&3559c8ea&0&0000#{378de44c-56ef-11d1-bc8c-00a0c91405dd}我想知道是否有关于此字符串中的内容的任何文档?\?\HID#VID_AAAA&PID_BBBB#C&DDDDDD&E&FFFF#{GUID}所以最明显的是A(VID)、B(PID)和最后的GUID。我想知道C、D、E和F到底是什么?即使你插入两个完全相同的HID设备,C和D
我正在尝试为条码扫描器开发设备独立库,它必须在Windows环境中工作。我在这个领域做了一些研究,afaik这个问题的大部分解决方案都取决于特定的设备VID和PID(RawInput@filterbyvid和pidstring),在我的情况下这是NotAcceptable,因为我正在尝试开发独立于设备的解决方案,可与任何USB条形码扫描仪一起使用。其实这个东西还是挺有挑战性的,至少对我来说,这里有具体的要求。此外,我不能要求用户热插拔设备(在那种情况下,我只能检测插入的设备并将其提取为vid/pid)。我也不能使用设备的VID和PID数据库。一般来说,我实际上根本无法使用vid&pid
自最新的Windows101809更新以来,我们无法再使用CreateFile打开我们的USBHID键盘类设备。我们将问题简化为这个最小的例子:#include#include#include#includevoidbad(constchar*msg){DWORDw=GetLastError();fprintf(stderr,"bad:%s,GetLastError()==0x%08x\n",msg,(unsigned)w);}intmain(void){inti;GUIDhidGuid;HDEVINFOdeviceInfoList;constsize_tDEVICE_DETAILS_
我想通过连接到iPhone或iPad设备从血糖仪设备获取数据。我有不同供应商的血糖仪,有些使用简单的HID接口(interface)进行通信,有些使用串行通信。以下是两种可能的通信方式:USB转30针连接器。3.5插孔转30针连接器。USB或3.5插孔将连接到血糖仪,30针连接器将连接到iDevice。经过数小时的研究,我没有在互联网上找到太多针对iOS的帮助。我确实找到了ORSSerialPort,但我认为它仅适用于OSX应用程序。有RedPark串行电缆,但用于RS232到30针通信,其次只能在内部项目中使用。我想在AppleStore上销售我的应用程序。也有人在讨论使用IOKit
瞄准我想使用蓝牙将数据从iOS设备传递到PC。数据应该看起来像桌面的键盘输入。我一直在做一些关于相同的背景研究,并考虑使用任何HID键盘仿真器加密狗。可以使用蓝牙传递数据,加密狗会将其显示为PC的键盘输入。一些相关研究的结果:最初我尝试将ios设备与WindowsPC直接配对。我没有成功。经过一些研究和阅读许多问题后,事实证明ios设备只能与MFI(为ipad/ipod/iphone制造)兼容的设备/配件配对,即那些已与Apple签署NDA的设备/配件>并加入了MFI计划。它当然也可以与Mac配对。问题:随着蓝牙4.0的发布,这个限制好像可以克服,它可以与任何符合蓝牙4.0。是这样吗?
以下代码非常适合获取连接的HID设备列表:importFoundationimportIOKitimportIOKit.usbimportIOKit.hidprivatefunccreateDeviceMatchingDictionary(usagePage:Int,usage:Int)->CFMutableDictionary{letdict=[kIOHIDDeviceUsageKey:usage,kIOHIDDeviceUsagePageKey:usagePage]asNSDictionaryreturndict.mutableCopy()as!NSMutableDictionar
我不断得到ErrorDomain=CBErrorDomainCode=8"ThespecifiedUUIDisnotallowedforthisoperation."UserInfo={NSLocalizedDescription=ThespecifiedUUIDisnotallowedforthisoperation.}在尝试实现此页面上列出的服务时https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.service.human_interface_device.xml除