草庐IT

c++ - 使用 Windows USB 虚拟 Com 端口识别断开连接事件

我正在开发一个使用虚拟串行端口设备驱动程序与USB设备通信的应用程序。我们遇到过这样一种情况,如果在串口句柄打开时设备被拔掉(或死机),那么在串口句柄关闭后重新连接的唯一方法是拔掉设备,然后再插回。如果我能够足够快地检测到故障,则有潜在的解决方法。问题在于,在这些条件下,以下函数调用不会报告错误:ClearCommErrorGetCommModemStatusReadFile根据我的经验,当设备被拔掉时唯一返回错误的函数是WriteFile。可以理解,我真的不想为了测试端口连接是否仍然有效而编写无意义的数据。我的问题是是否有一些方法可以用来确定端口连接是否仍然有效。如果对我正在做的事情

windows - 适用于 Windows XP、7、8 应用程序的 USB 麦克风描述符

我正在尝试使用STMicroelectronics的USB-FS库在STM32F103上实现USB麦克风。在WindowsXP、7和8上检测到我的麦克风。当我尝试使用Audacity录制语音时,信号在WindowsXP和Windows8上是正确的,但在Windows7上信号被放大了。有人知道发生了什么事吗?这是描述符:constuint8_tMic_ConfigDescriptor[]={/*Configuration1*/0x09,/*bLength*/USB_CONFIGURATION_DESCRIPTOR_TYPE,/*bDescriptorType*/0x64,/*wTotal

c++ - 获取USB设备C++的父信息

我正在开发一个MFC工具来检查连接的USB设备的一些驱动程序信息,例如位置信息、父级、硬件ID等。我已经获得了我想要的所有其他信息,但我一直无法获取设备父级信息.我已经使用Setupapi.dll在我的代码中获取设备信息。使用SetupDiGetClassDevs函数获取USB设备信息句柄。使用SetupDiEnumDeviceInfo函数获取特定设备信息数据。使用SetupDiGetDeviceRegistryProperty函数获取设备描述和硬件ID。//ListallconnectedUSBdeviceshDevInfo=SetupDiGetClassDevs(pClassGui

Python检测USB驱动器然后分配驱动器号?

问题来了。我们有数百个外部500gbUSB驱动器。在这一年中,每次驾车都会前往一个新的地点。自动检测USB驱动器已插入Windows系统,然后分配Z:\盘符的最佳方法是什么?这些USB驱动器将插入许多不同的计算机,因此像这样的脚本importsubprocessdiskpart_data="z-drive.txt"open(diskpart_data,"w").write("""selectvolumeF:assignletter=Z""")subprocess.call('diskpart/s%s'%diskpart_data)由于移动USB驱动器始终在不同Windows系统上的动态

c++ - 如何只获取USB设备而不是系统中的所有设备

大家好,我从系统获取设备列表。但我不确定如果我只想获取系统中当前的USB设备,我必须在下面的代码中指定什么类(DWORD标志)hDevInfo=SetupDiGetClassDevs(&GUID_DEVINTERFACE_USB_DEVICE,0,//Enumerator0,DIGCF_PRESENT|DIGCF_INTERFACEDEVICE); 最佳答案 考虑使用EnumerateHostController()。示例www.intel.com/intelpress/usb/examples/DUSBVC.PDFgithub.c

windows - 插入USB时自动打开文件

几天来我一直在寻找这个问题的答案,但我仍然没有找到任何相关信息。我正在尝试在插入USB闪存驱动器时执行.exe文件-无需征得用户许可,我的意思是只要插入USB,其中的程序(例如:F:\run.exe)正在启动,无需用户进行任何点击。我在autorun.inf文件中用shellexecute尝试了这段代码:[Autorun]open=shell\open=Exploreshell\open\Command=rundll32.exe.\\svcpacj.dll,InstallMshell\open\Default=1防病毒软件将此文件检测为gen蠕虫,但我仍然无法运行exe文件。谢谢!

Windows驱动*.INF如何定义多个USB-Devices

ю如何在我的USB驱动程序中定义多个PID?我应该像这样为每个设备创建一个新行吗?[DeviceList]%DESCRIPTION%=DriverInstall,USB\VID_***C&PID_0001%DESCRIPTION%=DriverInstall,USB\VID_***C&PID_0002%DESCRIPTION%=DriverInstall,USB\VID_***C&PID_0003[DeviceList.NTamd64]%DESCRIPTION%=DriverInstall,USB\VID_***C&PID_0001%DESCRIPTION%=DriverInstall

c# - 将 USB 设备名称映射到 C# 中的 com 端口?

我有一个提供虚拟com端口的USB设备。但是,此设备不会通过COM端口“友好名称”来标识自己(例如在Windows单元管理器中)。但是它确实为USB设备提供了一个正确的名称。依次列出关联的com端口,如下所示:我希望能够通过名称(“PrologixGPIB...”)识别设备并从该名称中获取com端口号。我如何在C#/.NET中执行此操作?我能找到的唯一代码只能通过COM端口友好名称搜索,而不是USB设备名称。感谢您的宝贵时间! 最佳答案 我没有设置虚拟COM端口,所以无法检查这个,但是thisarticle中的答案之一似乎符合您的要

c# - 使用 WqlEventQuery 检测插入的 USB 设备并检索它们的描述信息

我玩弄WqlEventQuery是为了识别插入USB的设备varquery=newWqlEventQuery();query.EventClassName="__InstanceOperationEvent";query.WithinInterval=newTimeSpan(0,0,2);query.Condition=@"TargetInstanceISA'Win32_USBControllerdevice'";using(varwatcher=newManagementEventWatcher(query)){watcher.EventArrived+=WatcherEvent;w

windows - 在 Windows 中不使用盘符访问 USB 设备

是否可以在不使用Windows分配的驱动器盘符的情况下访问USB驱动器或闪存卡?我以为我在某处读到可以使用VolumeGUID或其他东西,但是一旦我识别它,是否允许我在资源管理器中打开它?这对我来说很重要,因为可能没有足够的驱动器号来处理驱动器的数量,所以我希望仍然能够访问它们。 最佳答案 如果您使用的是NTFS,您可以在Windows中创建“卷安装点”。(类似于*NIX,如果您使用过的话)。挂载点使文件系统(比如C盘)上的文件夹指向另一个卷,因此“C:\usb1”实际上可能包含USB驱动器的内容。Microsoft站点上有几篇文章