我正在尝试创建一个程序来对所有连接的USB设备及其端口GUID进行分类。我找到了一个如何从连接的输入设备获取所有信息的示例:#include#include//Namespaceusingnamespacestd;//Mainintmain(){//Programcout我试图转换此代码以获取所有连接的USB设备,但失败了。所以我的问题是收集我正在寻找的数据的最佳方式是什么? 最佳答案 如果您想要所有USB设备,而不仅仅是“输入”设备,那么您需要使用与设备管理器相同的API。例如,设备管理器显示的所有设备都可以在SetupDiGet
我使用SetupDiGetClassDevs()、SetupDiEnumDeviceInfo()和SetupDiGetDeviceRegistryProperty()枚举我的USB设备并检查我的设备是否可用或不是。如何检查我的设备是否安装了正确的驱动程序?是否有任何API可用于检查此内容? 最佳答案 您可以获得设备的驱动程序信息,然后检查您的驱动程序是否已安装并且是最新数据。下面是一些可能对您有所帮助的C++代码:boolfetchDriverDescription(conststd::wstring&driverRegistryL
我想修改USB驱动程序以通过网络发送和接收USB数据。以iMac和PC为例。我有一个iPod插入我的电脑(在纽约)。我希望我的iMac(在洛杉矶)将iPod识别为插入本地USB端口并能够与iPod通信。忘记我的资格或缺乏资格(我有网络、iOS应用程序的背景,我玩过Java和C)。从哪里可以获得我可以修改的适用于Windows的USB驱动程序的源代码?Mac操作系统?对于实现我的目标的任何提示或指示也将不胜感激。 最佳答案 看起来人们正在想出一些接近您想要的东西。如果您决定自己动手,您要求的USB驱动程序源是libusb.
我目前正在尝试学习Clojure,但这个周末要去我parent那里。他们有一台Windows笔记本电脑,但我不想安装任何东西...那么是否可以仅使用安装在USB驱动器上的文件来运行ClojureREPL? 最佳答案 我遇到的最好的可移植clojure“环境”是LispCabinet.它提供了多个lisp环境的选项,但您可以选择只拥有一个clojure环境。从网站上很难看出它是可移植的,但安装程序为您提供了将所有内容安装在一个文件夹中的选项,以获得完全可移植的体验。编辑:至于repl,当您启动它时,LispCabinet会为您提供适用
可能是一些广泛使用WinUSBAPI或用户模式USB驱动程序的人的一个问题-WinUSBAPI或用户模式驱动程序是否可以用作USB连接的被动观察者,捕获中断通知、控制请求、数据传输等,而不干扰其他应用程序(例如iTunes),这显然需要在我的应用程序监视连接并在其上显示数据的同时并发访问设备?或者您是否必须编写内核模式过滤器驱动程序并将自己注入(inject)USB堆栈才能实现这一点?过去,有一些可靠的选项(具体来说是libusb-win32和usbsnoop),尽管它们都是围绕旧的DDK而不是WindowsDriverFoundation构建的,并且不再真正得到定期支持.因此,我
我正在使用GetRawInputDeviceInfo获取USBHID设备名称的设备名称。出于某种原因,当我在WindowsXP下运行我的代码时,我得到一个以\??\开头的设备名称而不是\\?\.这当然意味着,当我尝试使用此设备名称(例如CreateFile)时,它不起作用。如果我编辑设备名称并手动将其修复为\\?\,一切正常。这在Windows7中不会发生。在Win7中一切正常。我还测试了GetLastError每次API调用后都没有发生错误。我所有的操作系统都是32位的,我的项目是用unicode编译的。有什么建议我做错了吗?这是我的控制台应用程序的代码片段,它获取设备名称。nR
总结我正在为自定义USB设备开发固件和PC测试应用程序,使用STM32F072Discoveryboard.该设备包括MicrosoftWindowsCompatibleIDs(WCIDs)toenableautomaticinstallationPC上的WinUSB驱动程序。该设备在其他Windows10主机上正确枚举,但在我的Windows10开发PC上不正确。我的开发PC以前曾尝试枚举具有相同VID/PID组合但具有不同描述符/元数据的设备。如果我将PID更改为其他数字(对我的开发PC来说是新的),它会正确枚举。问题我怎样才能让它在我的开发PC上与我想要的VID/PID组合一起工
可以在Windows中制作一个可以安全弹出USB的批处理文件吗?到目前为止,在各种站点上存在不同的实用程序,例如devcon。 最佳答案 弹出媒体并移除驱动器UweSieber的免费软件-http://www.uwe-sieber.de移除驱动器是安全移除USB所需要的。 关于windows-从批处理文件中安全删除USB?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/22705
我正在使用C++从Windows上的USB内存棒中检索序列号。我找到了大量的C#示例和用于Linux的C++,但没有找到用于C++和Windows的示例。编辑不幸的是,C++/CLI不是一个选项。我要查找的是设备的序列号,而不是文件系统。或“设备实例路径”又名“InstanceID” 最佳答案 我有一篇关于如何在不使用WMI的情况下使用C++获取卷的USB序列号的文章http://oroboro.com/usb-serial-number/这样做有一个技巧,您必须将USB设备与磁盘卷相匹配。您希望尽可能避免使用WMI,因为它不可靠。
我有一个Arduino应用程序使用MAVLINK通过USB与Windows8上的应用程序通信协议(protocol)。连接显示为COM3。是否有Windows应用程序可以监视此连接并显示双向流量?原始字节很好,我不需要解码协议(protocol)。 最佳答案 您可以使用Portmon记录串口事件.(编辑:您需要先通过计算机菜单连接到本地计算机,并且您必须在程序打开端口之前开始捕获端口。)您可能不想记录USB流量。这样的日志将包含许多与提供COM3的USB转串口适配器相关的额外信息。Portmon只会为您提供通过COM3传输的字节,而