我正在开发一个MFC工具来检查连接的USB设备的一些驱动程序信息,例如位置信息、父级、硬件ID等。我已经获得了我想要的所有其他信息,但我一直无法获取设备父级信息.我已经使用Setupapi.dll在我的代码中获取设备信息。使用SetupDiGetClassDevs函数获取USB设备信息句柄。使用SetupDiEnumDeviceInfo函数获取特定设备信息数据。使用SetupDiGetDeviceRegistryProperty函数获取设备描述和硬件ID。//ListallconnectedUSBdeviceshDevInfo=SetupDiGetClassDevs(pClassGui
我有一张可以插入USB端口的Vodaphone数据卡。我有XP和Vista操作系统,我正在使用Windows的WM_DEVICECHANGE事件来了解USB插入和移除,它对我来说工作正常。但我无法区分数据卡插入和笔式驱动器插入。可能吗? 最佳答案 是的。“笔式驱动器”和“数据卡”实现不同的接口(interface)。您将使用RegisterDeviceNotification订阅DEV_BROADCAST_DEVICEINTERFACE。您返回的WM_DEVICECHANGE的LPARAM将是DEV_BROADCAST_DEVICE
问题来了。我们有数百个外部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系统上的动态
大家好,我从系统获取设备列表。但我不确定如果我只想获取系统中当前的USB设备,我必须在下面的代码中指定什么类(DWORD标志)hDevInfo=SetupDiGetClassDevs(&GUID_DEVINTERFACE_USB_DEVICE,0,//Enumerator0,DIGCF_PRESENT|DIGCF_INTERFACEDEVICE); 最佳答案 考虑使用EnumerateHostController()。示例www.intel.com/intelpress/usb/examples/DUSBVC.PDFgithub.c
是否可以“即时”创建虚拟设备?(这家伙点击“新虚拟设备”按钮,输入设备名称,弹出的窗口就好像他刚刚插入了一个新设备一样)。我必须创建自定义设备驱动程序还是可以使用通用驱动程序?我应该从哪里开始(文档链接)?我的目标是模拟一个或多个虚拟游戏handle,在游戏中可见(带有自定义名称),并映射到一个或多个物理设备,如键盘和鼠标。谢谢! 最佳答案 是的,这是可能的。Windows驱动程序架构需要这样的支持,以允许USB驱动程序即时加载。您将需要一个自定义设备驱动程序。存在现有的“虚拟”设备驱动程序,例如对于NUL,但这些不是您想要的。但是
几天来我一直在寻找这个问题的答案,但我仍然没有找到任何相关信息。我正在尝试在插入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文件。谢谢!
ю如何在我的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
我有一个提供虚拟com端口的USB设备。但是,此设备不会通过COM端口“友好名称”来标识自己(例如在Windows单元管理器中)。但是它确实为USB设备提供了一个正确的名称。依次列出关联的com端口,如下所示:我希望能够通过名称(“PrologixGPIB...”)识别设备并从该名称中获取com端口号。我如何在C#/.NET中执行此操作?我能找到的唯一代码只能通过COM端口友好名称搜索,而不是USB设备名称。感谢您的宝贵时间! 最佳答案 我没有设置虚拟COM端口,所以无法检查这个,但是thisarticle中的答案之一似乎符合您的要
我玩弄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分配的驱动器盘符的情况下访问USB驱动器或闪存卡?我以为我在某处读到可以使用VolumeGUID或其他东西,但是一旦我识别它,是否允许我在资源管理器中打开它?这对我来说很重要,因为可能没有足够的驱动器号来处理驱动器的数量,所以我希望仍然能够访问它们。 最佳答案 如果您使用的是NTFS,您可以在Windows中创建“卷安装点”。(类似于*NIX,如果您使用过的话)。挂载点使文件系统(比如C盘)上的文件夹指向另一个卷,因此“C:\usb1”实际上可能包含USB驱动器的内容。Microsoft站点上有几篇文章